rultor.com logo This build log was produced by rultor.com for yegor256/blog#777
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 1467
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Sun Apr 20 15:35:49 UTC 2025
+ uptime
 15:35:49 up 1 min,  0 users,  load average: 1.13, 0.36, 0.13
+ head=git@github.com:yegor256/blog.git
+ ff=default
+ image=yegor256/rultor-image
+ rebase=false
+ squash=false
+ 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'\''\'\'''\'''\'' '\'';'\'' '\''bundle lock --no-color'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''export JEKYLL_ENV=production'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 bundle exec 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"'\'' '\'';'\'' '\''echo -e "chatgpt-translate:\n  api_key_file: $(pwd)/../chatgpt-key.txt" > _config-deploy.yml'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 jgd'\'' '\'';'\'' '\''rvm default 2.7.6 && source /usr/local/rvm/scripts/rvm'\'' '\'';'\'' '\''ruby -v'\'' '\'';'\'' '\''gem install ffi -v 1.16.3'\'' '\'';'\'' '\''gem install fontcustom -v 2.0.0'\'' '\'';'\'' '\''fontcustom --version'\'' '\'';'\'' '\''"$(pwd)/_glyphs/compile.sh" /tmp/icons'\'' '\'';'\'' '\''git checkout gh-pages'\'' '\'';'\'' '\''git pull'\'' '\'';'\'' '\''for e in svg ttf woff eot css; do cp "/tmp/icons/icons.${e}" css; git add "css/icons.${e}"; done'\'' '\'';'\'' '\''git commit -am '\''\'\'''\''new glyphs'\''\'\'''\'' || echo no changes in glyphs'\'' '\'';'\'' '\''git push origin gh-pages'\'' '\'';'\'' )' '--env=head_branch=master' '--env=author=yegor256')
+ scripts=('export '\''head=git@github.com:yegor256/blog.git'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'bundle lock --no-color' ';' 'bundle install --no-color' ';' 'export JEKYLL_ENV=production' ';' 'LC_ALL=en_US.UTF-8 bundle exec 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"' ';' 'echo -e "chatgpt-translate:\n  api_key_file: $(pwd)/../chatgpt-key.txt" > _config-deploy.yml' ';' 'LC_ALL=en_US.UTF-8 jgd' ';' 'rvm default 2.7.6 && source /usr/local/rvm/scripts/rvm' ';' 'ruby -v' ';' 'gem install ffi -v 1.16.3' ';' 'gem install fontcustom -v 2.0.0' ';' 'fontcustom --version' ';' '"$(pwd)/_glyphs/compile.sh" /tmp/icons' ';' 'git checkout gh-pages' ';' 'git pull' ';' 'for e in svg ttf woff eot css; do cp "/tmp/icons/icons.${e}" css; git add "css/icons.${e}"; done' ';' 'git commit -am '\''new glyphs'\'' || echo no changes in glyphs' ';' 'git push origin gh-pages' ';')
+ directory=repo
+ container=yegor256_blog_777
+ as_root=false
+ hostname
ip-172-31-24-83
+ pwd
/tmp/rultor-3vCX
+ git --version
git version 2.34.1
+ docker --version
Docker version 25.0.3, build 4debf41
+ mkdir -p /home/ubuntu/.ssh
+ echo -e 'Host github.com\n\tStrictHostKeyChecking no\n'
+ chmod 600 /home/ubuntu/.ssh/config
+ git clone git@github.com:yegor256/blog.git repo
Cloning into 'repo'...
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Updating files: 100% (1722/1722), done.
+ 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'\''' ';' 'bundle lock --no-color' ';' 'bundle install --no-color' ';' 'export JEKYLL_ENV=production' ';' 'LC_ALL=en_US.UTF-8 bundle exec 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"' ';' 'echo -e "chatgpt-translate:\n  api_key_file: $(pwd)/../chatgpt-key.txt" > _config-deploy.yml' ';' 'LC_ALL=en_US.UTF-8 jgd' ';' 'rvm default 2.7.6 && source /usr/local/rvm/scripts/rvm' ';' 'ruby -v' ';' 'gem install ffi -v 1.16.3' ';' 'gem install fontcustom -v 2.0.0' ';' 'fontcustom --version' ';' '"$(pwd)/_glyphs/compile.sh" /tmp/icons' ';' 'git checkout gh-pages' ';' 'git pull' ';' 'for e in svg ttf woff eot css; do cp "/tmp/icons/icons.${e}" css; git add "css/icons.${e}"; done' ';' 'git commit -am '\''new glyphs'\'' || echo no changes in glyphs' ';' 'git push origin gh-pages' ';'
+ rm -rf .gnupg
+ set -ex
+ cd repo
+ docker_when_possible
+ true
++ tail -n 1
++ sed 's/ /\n/g'
++ uptime
+ load=0.27
++ bc
++ echo 0.27 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.27, low enough to run a new Docker container'
load average is 0.27, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n repo ']'
++ head -c 8
++ tr -cd a-z0-9
++ dd if=/dev/urandom bs=10k count=1
+ use_image=yegor256/rultor-cjviee2l
+ docker build repo -t yegor256/rultor-cjviee2l
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 1.16kB done
#1 DONE 0.0s

#2 [internal] load metadata for docker.io/yegor256/rultor-image:1.24.0
#2 DONE 0.3s

#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [internal] load build context
#4 transferring context: 27.32kB done
#4 DONE 0.0s

#5 [1/9] FROM docker.io/yegor256/rultor-image:1.24.0@sha256:183145a1ee07aff04b992ff3478c86b34eacc5f241c6d4a711c39e2687e07d0e
#5 resolve docker.io/yegor256/rultor-image:1.24.0@sha256:183145a1ee07aff04b992ff3478c86b34eacc5f241c6d4a711c39e2687e07d0e 0.0s done
#5 sha256:183145a1ee07aff04b992ff3478c86b34eacc5f241c6d4a711c39e2687e07d0e 5.81kB / 5.81kB done
#5 sha256:4fe06bbcf73e766230da42584c9dce5988a35100224414d3dd10035daa248e36 16.73kB / 16.73kB done
#5 sha256:6fdf9d57c7703822bb2609f60c4ce16cba8e9760d7f157447adad062cf127013 170B / 170B 0.1s done
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 0B / 241.77MB 0.1s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 4.19MB / 29.54MB 0.1s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 0B / 47.35MB 0.1s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 11.53MB / 29.54MB 0.2s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 16.78MB / 29.54MB 0.3s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 3.15MB / 47.35MB 0.3s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 14.68MB / 241.77MB 0.4s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 20.97MB / 29.54MB 0.4s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 24.12MB / 29.54MB 0.5s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 6.29MB / 47.35MB 0.5s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 30.41MB / 241.77MB 0.7s
#5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 29.54MB / 29.54MB 0.6s done
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 10.49MB / 47.35MB 0.7s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 0B / 1.68GB 0.7s
#5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 45.09MB / 241.77MB 1.0s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 13.63MB / 47.35MB 1.0s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 59.77MB / 241.77MB 1.2s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 16.78MB / 47.35MB 1.3s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 80.74MB / 241.77MB 1.5s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 22.02MB / 47.35MB 1.5s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 26.21MB / 47.35MB 1.6s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 29.36MB / 47.35MB 1.7s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 95.42MB / 241.77MB 1.8s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 32.51MB / 47.35MB 1.8s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 36.70MB / 47.35MB 1.9s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 123.73MB / 241.77MB 2.2s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 41.94MB / 47.35MB 2.2s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 45.09MB / 47.35MB 2.3s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 138.41MB / 241.77MB 2.5s
#5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 47.35MB / 47.35MB 2.4s done
#5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 0B / 3.49MB 2.5s
#5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 3.49MB / 3.49MB 2.6s done
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0B / 12.36MB 2.7s
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 1.05MB / 12.36MB 2.8s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 153.09MB / 241.77MB 3.0s
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 5.77MB / 12.36MB 3.0s
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 8.39MB / 12.36MB 3.1s
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 9.44MB / 12.36MB 3.2s
#5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 12.36MB / 12.36MB 3.4s done
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 177.21MB / 241.77MB 3.6s
#5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 2.10MB / 10.72MB 3.6s
#5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 4.19MB / 10.72MB 3.7s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 190.84MB / 241.77MB 3.9s
#5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 10.49MB / 10.72MB 3.9s
#5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 10.72MB / 10.72MB 3.9s done
#5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0B / 12.62MB 4.0s
#5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 3.15MB / 12.62MB 4.1s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 206.57MB / 241.77MB 4.2s
#5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 7.34MB / 12.62MB 4.2s
#5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 12.62MB / 12.62MB 4.4s done
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 227.54MB / 241.77MB 4.6s
#5 sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 3.26MB / 3.26MB 4.6s done
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 0B / 376.04MB 4.7s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 241.77MB / 241.77MB 5.0s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 90.18MB / 1.68GB 5.0s
#5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 241.77MB / 241.77MB 5.0s done
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 18.87MB / 376.04MB 5.2s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 1.05MB / 23.06MB 5.2s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 5.24MB / 23.06MB 5.3s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 9.44MB / 23.06MB 5.4s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 14.68MB / 23.06MB 5.5s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 23.06MB / 23.06MB 5.7s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 41.94MB / 376.04MB 5.9s
#5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 23.06MB / 23.06MB 5.7s done
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 0B / 342.93MB 5.9s
#5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 5.1s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 22.21MB / 342.93MB 6.4s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 63.96MB / 376.04MB 6.8s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 40.89MB / 342.93MB 6.8s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 59.77MB / 342.93MB 7.2s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 84.93MB / 376.04MB 7.6s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 79.69MB / 342.93MB 7.8s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 178.26MB / 1.68GB 8.1s
#5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 7.1s done
#5 extracting sha256:6fdf9d57c7703822bb2609f60c4ce16cba8e9760d7f157447adad062cf127013 done
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 105.91MB / 376.04MB 8.4s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 99.61MB / 342.93MB 8.4s
#5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 117.44MB / 342.93MB 8.9s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 127.93MB / 376.04MB 9.1s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 137.36MB / 342.93MB 9.5s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 146.80MB / 376.04MB 9.7s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 157.29MB / 342.93MB 10.0s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 165.68MB / 376.04MB 10.3s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 178.26MB / 342.93MB 10.5s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 202.38MB / 342.93MB 10.9s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 187.70MB / 376.04MB 11.0s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 264.24MB / 1.68GB 11.3s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 224.03MB / 342.93MB 11.3s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 208.67MB / 376.04MB 11.7s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 245.37MB / 342.93MB 11.7s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 264.24MB / 342.93MB 12.1s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 228.59MB / 376.04MB 12.3s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 289.41MB / 342.93MB 12.6s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 251.66MB / 376.04MB 13.1s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 316.67MB / 342.93MB 13.1s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 338.69MB / 342.93MB 13.5s
#5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 342.93MB / 342.93MB 13.7s done
#5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 5.0s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 0B / 1.14GB 13.7s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 276.82MB / 376.04MB 13.9s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 353.37MB / 1.68GB 14.5s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 297.80MB / 376.04MB 14.5s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 316.67MB / 376.04MB 15.0s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 339.74MB / 376.04MB 15.8s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 62.91MB / 1.14GB 15.8s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 441.45MB / 1.68GB 16.6s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 363.86MB / 376.04MB 16.6s
#5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 376.04MB / 376.04MB 17.0s done
#5 sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 0B / 1.07MB 17.1s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 120.59MB / 1.14GB 17.3s
#5 sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 1.07MB / 1.07MB 17.2s done
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 0B / 63.73MB 17.3s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 6.29MB / 63.73MB 17.5s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 15.73MB / 63.73MB 17.8s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 23.07MB / 63.73MB 18.1s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 28.31MB / 63.73MB 18.3s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 38.80MB / 63.73MB 18.6s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 527.43MB / 1.68GB 18.7s
#5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 10.1s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 179.31MB / 1.14GB 18.7s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 45.09MB / 63.73MB 18.8s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 49.28MB / 63.73MB 19.0s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 57.67MB / 63.73MB 19.3s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 62.91MB / 63.73MB 19.5s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 239.08MB / 1.14GB 19.7s
#5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 63.73MB / 63.73MB 19.5s done
#5 sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 1.05MB / 3.35MB 19.7s
#5 sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 3.35MB / 3.35MB 19.8s done
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 0B / 18.90MB 19.9s
#5 sha256:39620eda63295f8dc7d6ce1bff8650fe9ad1da90363fa6600d1083e34c149ff4 412B / 412B 19.9s done
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 2.10MB / 18.90MB 20.1s
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 5.24MB / 18.90MB 20.2s
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 10.49MB / 18.90MB 20.4s
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 13.63MB / 18.90MB 20.5s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 300.94MB / 1.14GB 20.6s
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 16.78MB / 18.90MB 20.6s
#5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 18.90MB / 18.90MB 20.6s done
#5 sha256:bf2832135ec0676462a11f7e362d12bc6fec0303b5312dce0055ea010633b8ab 357B / 357B 20.7s done
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 0B / 33.27MB 20.8s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 2.10MB / 33.27MB 20.9s
#5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 12.4s done
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 5.24MB / 33.27MB 21.1s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 9.44MB / 33.27MB 21.3s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 14.68MB / 33.27MB 21.5s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 372.24MB / 1.14GB 21.7s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 19.92MB / 33.27MB 21.7s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 24.12MB / 33.27MB 21.9s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 26.21MB / 33.27MB 22.0s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 30.41MB / 33.27MB 22.2s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 33.27MB / 33.27MB 22.3s
#5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 33.27MB / 33.27MB 22.3s done
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 615.51MB / 1.68GB 22.6s
#5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 2.10MB / 6.41MB 22.6s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 429.92MB / 1.14GB 22.7s
#5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 4.19MB / 6.41MB 22.7s
#5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 6.41MB / 6.41MB 22.7s done
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 0B / 46.24MB 22.8s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 5.24MB / 46.24MB 23.1s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 9.44MB / 46.24MB 23.3s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 15.73MB / 46.24MB 23.5s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 18.87MB / 46.24MB 23.6s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 32.51MB / 46.24MB 24.0s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 487.59MB / 1.14GB 24.1s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 36.70MB / 46.24MB 24.2s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 42.99MB / 46.24MB 24.4s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 46.14MB / 46.24MB 24.5s
#5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 46.24MB / 46.24MB 24.7s done
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 0B / 272.22MB 24.7s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 704.64MB / 1.68GB 25.1s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 14.68MB / 272.22MB 25.1s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 30.41MB / 272.22MB 25.6s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 545.26MB / 1.14GB 25.8s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 47.19MB / 272.22MB 26.2s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 5.2s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 60.82MB / 272.22MB 26.7s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 607.13MB / 1.14GB 27.0s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 75.50MB / 272.22MB 27.1s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 90.18MB / 272.22MB 27.5s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 103.81MB / 272.22MB 27.9s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 664.80MB / 1.14GB 28.2s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 791.67MB / 1.68GB 28.4s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 117.44MB / 272.22MB 28.4s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 134.22MB / 272.22MB 28.9s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 147.85MB / 272.22MB 29.4s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 725.61MB / 1.14GB 29.6s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 161.61MB / 272.22MB 29.9s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 179.31MB / 272.22MB 30.5s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 784.33MB / 1.14GB 31.1s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 195.04MB / 272.22MB 31.1s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 211.81MB / 272.22MB 31.8s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 10.5s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 878.71MB / 1.68GB 32.1s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 846.20MB / 1.14GB 32.4s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 228.59MB / 272.22MB 32.4s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 243.27MB / 272.22MB 33.0s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 260.05MB / 272.22MB 33.5s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 903.87MB / 1.14GB 33.8s
#5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 272.22MB / 272.22MB 34.0s done
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 0B / 119.44MB 34.1s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 10.49MB / 119.44MB 34.5s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 16.78MB / 119.44MB 34.7s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 962.59MB / 1.14GB 35.0s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 24.12MB / 119.44MB 35.0s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 964.69MB / 1.68GB 35.1s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 30.41MB / 119.44MB 35.2s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 38.80MB / 119.44MB 35.4s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 45.09MB / 119.44MB 35.6s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 55.57MB / 119.44MB 36.1s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.02GB / 1.14GB 36.3s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 62.91MB / 119.44MB 36.3s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 69.21MB / 119.44MB 36.5s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 78.64MB / 119.44MB 36.8s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 15.7s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 87.03MB / 119.44MB 37.2s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 95.42MB / 119.44MB 37.4s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.08GB / 1.14GB 37.5s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 101.71MB / 119.44MB 37.6s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 109.05MB / 119.44MB 37.8s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 115.34MB / 119.44MB 38.0s
#5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 119.44MB / 119.44MB 38.2s done
#5 sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae 0B / 258B 38.2s
#5 sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae 258B / 258B 38.2s done
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.05GB / 1.68GB 38.5s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.14GB / 1.14GB 38.6s
#5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.14GB / 1.14GB 38.8s done
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.14GB / 1.68GB 39.5s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.25GB / 1.68GB 40.8s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.34GB / 1.68GB 41.7s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 20.7s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.43GB / 1.68GB 42.6s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.54GB / 1.68GB 43.6s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.64GB / 1.68GB 44.6s
#5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.68GB / 1.68GB 45.1s done
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 25.7s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 30.8s
#5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 32.8s done
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 5.1s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 10.2s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 15.2s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 20.2s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 25.3s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 30.3s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 35.4s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 40.5s
#5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 41.2s done
#5 extracting sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf
#5 extracting sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 0.3s done
#5 extracting sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0.1s
#5 extracting sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0.9s done
#5 extracting sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 0.1s
#5 extracting sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 0.5s done
#5 extracting sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0.1s
#5 extracting sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0.4s done
#5 extracting sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0
#5 extracting sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 0.5s done
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 0.1s
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 5.3s
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 10.4s
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 15.4s
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 20.9s
#5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 22.1s done
#5 extracting sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d
#5 extracting sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 1.7s done
#5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950
#5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 5.0s
#5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 10.1s
#5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 10.6s done
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 5.0s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 10.1s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 15.2s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 20.2s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 25.3s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 30.3s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 35.4s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 40.5s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 45.6s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 50.7s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 55.7s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 60.8s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 65.8s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 70.9s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 75.9s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 80.9s
#5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 85.4s done
#5 extracting sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1
#5 extracting sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 0.6s done
#5 extracting sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53
#5 extracting sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 3.0s done
#5 extracting sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 0.1s
#5 extracting sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 0.3s done
#5 extracting sha256:39620eda63295f8dc7d6ce1bff8650fe9ad1da90363fa6600d1083e34c149ff4 done
#5 extracting sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 0.1s
#5 extracting sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 0.3s done
#5 extracting sha256:bf2832135ec0676462a11f7e362d12bc6fec0303b5312dce0055ea010633b8ab done
#5 extracting sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 0.1s
#5 extracting sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 2.0s done
#5 extracting sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd
#5 extracting sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 0.5s done
#5 extracting sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb
#5 extracting sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 2.6s done
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 5.1s
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 10.1s
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 15.3s
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 20.3s
#5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 20.5s done
#5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777
#5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 5.0s
#5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 7.5s done
#5 extracting sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae done
#5 DONE 259.2s

#6 [2/9] RUN apt-get -y update --fix-missing &&   apt-get -y install aspell aspell-en graphviz gnuplot s3cmd fontforge liblapack-dev cmake libxml2-utils shellcheck plantuml &&   plantuml -version &&   aspell --version &&   fontforge --version &&   gnuplot --version &&   cmake --version &&   shellcheck --version
#6 3.690 Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
#6 3.779 Get:2 https://deb.nodesource.com/node_18.x nodistro InRelease [12.1 kB]
#6 3.800 Hit:3 http://archive.ubuntu.com/ubuntu jammy InRelease
#6 3.873 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
#6 3.962 Get:5 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [47.7 kB]
#6 3.988 Get:6 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [4,000 kB]
#6 4.031 Get:7 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages [11.6 kB]
#6 4.092 Get:8 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2,788 kB]
#6 4.094 Get:9 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease [18.1 kB]
#6 4.162 Get:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1,243 kB]
#6 4.180 Get:11 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease [24.6 kB]
#6 4.194 Get:12 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
#6 4.279 Get:13 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [24.6 kB]
#6 4.944 Get:14 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy/main amd64 Packages [34.3 kB]
#6 5.017 Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1,542 kB]
#6 5.103 Get:16 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main amd64 Packages [4,109 B]
#6 5.290 Get:17 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [233 kB]
#6 5.353 Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3,140 kB]
#6 5.500 Get:19 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [4,246 kB]
#6 5.689 Get:20 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [55.7 kB]
#6 5.690 Get:21 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [35.2 kB]
#6 5.690 Get:22 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [82.7 kB]
#6 6.110 Fetched 17.9 MB in 2s (7,563 kB/s)
#6 6.110 Reading package lists...
#6 7.523 Reading package lists...
#6 8.685 Building dependency tree...
#6 8.944 Reading state information...
#6 9.162 aspell is already the newest version (0.60.8-4build1).
#6 9.162 s3cmd is already the newest version (2.2.0-1).
#6 9.162 cmake is already the newest version (3.22.1-1ubuntu1.22.04.2).
#6 9.162 The following additional packages will be installed:
#6 9.163   aglfn binfmt-support default-jre-headless ditaa fastjar fontforge-common
#6 9.163   fonts-cantarell fonts-inconsolata fonts-liberation gnuplot-data gnuplot-qt
#6 9.163   icc-profiles-free jarwrapper java-wrappers junit4 libann0 libapache-pom-java
#6 9.163   libavalon-framework-java libbatik-java libblas-dev libblas3 libcdt5
#6 9.164   libcgraph6 libcommons-cli-java libcommons-io-java libcommons-logging-java
#6 9.164   libcommons-parent-java libegl-mesa0 libegl1 libevdev2 libfontbox2-java
#6 9.164   libfontforge4 libfop-java libgbm1 libgfortran5 libgts-0.7-5 libgts-bin
#6 9.164   libgudev-1.0-0 libgvc6 libgvpr2 libhamcrest-java libinput-bin libinput10
#6 9.164   libjaxp1.3-java libjericho-html-java libjlatexmath-java liblab-gamut1
#6 9.165   liblapack3 liblua5.4-0 libmd4c0 libmtdev1 libnotify4 libpathplan4
#6 9.165   libpcre2-16-0 libqdox-java libqt5core5a libqt5dbus5 libqt5gui5
#6 9.166   libqt5network5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libsaxon-java
#6 9.166   libspiro1 libuninameslist1 libwacom-bin libwacom-common libwacom9
#6 9.167   libwayland-server0 libwoff1 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
#6 9.167   libxalan2-java libxcb-icccm4 libxcb-image0 libxcb-keysyms1
#6 9.167   libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1
#6 9.167   libxerces2-java libxkbcommon-x11-0 libxml-commons-external-java
#6 9.168   libxml-commons-resolver1.1-java libxmlgraphics-commons-java
#6 9.168   qt5-gtk-platformtheme qttranslations5-l10n
#6 9.169 Suggested packages:
#6 9.170   default-jre fontforge-doc fontforge-extras potrace python3-fontforge
#6 9.170   gnuplot-doc gsfonts graphviz-doc libavalon-framework-java-doc librhino-java
#6 9.170   liblapack-doc libcommons-io-java-doc libcommons-logging-java-doc
#6 9.170   libexcalibur-logkit-java liblog4j1.2-java gnome-shell | notification-daemon
#6 9.170   libqdox-java-doc ant junit qt5-image-formats-plugins qtwayland5
#6 9.170   libjdom1-java libsaxon-java-doc libxalan2-java-doc libbsf-java libxsltc-java
#6 9.171   libxerces2-java-doc libxml-commons-resolver1.1-java-doc
#6 9.171   libxmlgraphics-commons-java-doc
#6 9.492 The following NEW packages will be installed:
#6 9.493   aglfn aspell-en binfmt-support default-jre-headless ditaa fastjar fontforge
#6 9.493   fontforge-common fonts-cantarell fonts-inconsolata fonts-liberation gnuplot
#6 9.494   gnuplot-data gnuplot-qt graphviz icc-profiles-free jarwrapper java-wrappers
#6 9.494   junit4 libann0 libapache-pom-java libavalon-framework-java libbatik-java
#6 9.494   libblas-dev libblas3 libcdt5 libcgraph6 libcommons-cli-java
#6 9.494   libcommons-io-java libcommons-logging-java libcommons-parent-java
#6 9.495   libegl-mesa0 libegl1 libevdev2 libfontbox2-java libfontforge4 libfop-java
#6 9.496   libgbm1 libgfortran5 libgts-0.7-5 libgts-bin libgudev-1.0-0 libgvc6 libgvpr2
#6 9.496   libhamcrest-java libinput-bin libinput10 libjaxp1.3-java
#6 9.496   libjericho-html-java libjlatexmath-java liblab-gamut1 liblapack-dev
#6 9.496   liblapack3 liblua5.4-0 libmd4c0 libmtdev1 libnotify4 libpathplan4
#6 9.496   libpcre2-16-0 libqdox-java libqt5core5a libqt5dbus5 libqt5gui5
#6 9.497   libqt5network5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libsaxon-java
#6 9.497   libspiro1 libuninameslist1 libwacom-bin libwacom-common libwacom9
#6 9.498   libwayland-server0 libwoff1 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
#6 9.498   libxalan2-java libxcb-icccm4 libxcb-image0 libxcb-keysyms1
#6 9.498   libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1
#6 9.498   libxerces2-java libxkbcommon-x11-0 libxml-commons-external-java
#6 9.499   libxml-commons-resolver1.1-java libxmlgraphics-commons-java plantuml
#6 9.499   qt5-gtk-platformtheme qttranslations5-l10n shellcheck
#6 9.500 The following packages will be upgraded:
#6 9.501   libxml2-utils
#6 9.683 1 upgraded, 95 newly installed, 0 to remove and 83 not upgraded.
#6 9.683 Need to get 75.3 MB of archives.
#6 9.683 After this operation, 216 MB of additional disk space will be used.
#6 9.683 Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5core5a amd64 5.15.3+dfsg-2ubuntu0.2 [2,006 kB]
#6 9.952 Get:2 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 libpcre2-16-0 amd64 10.42-3+ubuntu22.04.1+deb.sury.org+1 [213 kB]
#6 10.22 Get:3 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 libxml2-utils amd64 2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1 [119 kB]
#6 10.33 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libwayland-server0 amd64 1.20.0-1ubuntu0.1 [34.3 kB]
#6 10.33 Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgbm1 amd64 23.2.1-1ubuntu3.1~22.04.3 [33.5 kB]
#6 10.33 Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libegl-mesa0 amd64 23.2.1-1ubuntu3.1~22.04.3 [118 kB]
#6 10.33 Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libegl1 amd64 1.4.0-1 [28.6 kB]
#6 10.34 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 libevdev2 amd64 1.12.1+dfsg-1 [39.5 kB]
#6 10.34 Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmtdev1 amd64 1.1.6-1build4 [14.5 kB]
#6 10.34 Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgudev-1.0-0 amd64 1:237-2build1 [16.3 kB]
#6 10.34 Get:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom-common all 2.2.0-1 [54.3 kB]
#6 10.34 Get:12 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom9 amd64 2.2.0-1 [22.0 kB]
#6 10.34 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libinput-bin amd64 1.20.0-1ubuntu0.3 [19.9 kB]
#6 10.41 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libinput10 amd64 1.20.0-1ubuntu0.3 [131 kB]
#6 10.48 Get:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libmd4c0 amd64 0.4.8-1 [42.0 kB]
#6 10.49 Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5dbus5 amd64 5.15.3+dfsg-2ubuntu0.2 [222 kB]
#6 10.49 Get:17 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5network5 amd64 5.15.3+dfsg-2ubuntu0.2 [731 kB]
#6 10.51 Get:18 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-icccm4 amd64 0.4.1-1.1build2 [11.5 kB]
#6 10.51 Get:19 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-util1 amd64 0.4.0-1build2 [11.4 kB]
#6 10.51 Get:20 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-image0 amd64 0.4.0-2 [11.5 kB]
#6 10.51 Get:21 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-keysyms1 amd64 0.4.0-1build3 [8,746 B]
#6 10.51 Get:22 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-render-util0 amd64 0.3.9-1build3 [10.3 kB]
#6 10.51 Get:23 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xinerama0 amd64 1.14-3ubuntu3 [5,414 B]
#6 10.56 Get:24 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xinput0 amd64 1.14-3ubuntu3 [34.3 kB]
#6 10.64 Get:25 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xkb1 amd64 1.14-3ubuntu3 [32.8 kB]
#6 10.64 Get:26 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxkbcommon-x11-0 amd64 1.4.0-1 [14.4 kB]
#6 10.64 Get:27 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5gui5 amd64 5.15.3+dfsg-2ubuntu0.2 [3,722 kB]
#6 10.81 Get:28 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5widgets5 amd64 5.15.3+dfsg-2ubuntu0.2 [2,561 kB]
#6 10.94 Get:29 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5svg5 amd64 5.15.3-1 [149 kB]
#6 10.94 Get:30 http://archive.ubuntu.com/ubuntu jammy/main amd64 aspell-en all 2018.04.16-0-1 [299 kB]
#6 10.95 Get:31 http://archive.ubuntu.com/ubuntu jammy/main amd64 binfmt-support amd64 2.2.1-2 [55.8 kB]
#6 10.95 Get:32 http://archive.ubuntu.com/ubuntu jammy/main amd64 default-jre-headless amd64 2:1.11-72build2 [3,042 B]
#6 10.95 Get:33 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fastjar amd64 2:0.98-7 [67.1 kB]
#6 10.95 Get:34 http://archive.ubuntu.com/ubuntu jammy/universe amd64 jarwrapper all 0.78 [10.8 kB]
#6 10.95 Get:35 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libhamcrest-java all 1.3-9 [386 kB]
#6 10.96 Get:36 http://archive.ubuntu.com/ubuntu jammy/universe amd64 junit4 all 4.13.2-1 [344 kB]
#6 10.97 Get:37 http://archive.ubuntu.com/ubuntu jammy/universe amd64 java-wrappers all 0.3 [9,560 B]
#6 11.02 Get:38 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjaxp1.3-java all 1.3.05-6 [227 kB]
#6 11.05 Get:39 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxml-commons-external-java all 1.4.01-5 [240 kB]
#6 11.06 Get:40 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxml-commons-resolver1.1-java all 1.2-11 [97.6 kB]
#6 11.06 Get:41 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxerces2-java all 2.12.1-1 [1,437 kB]
#6 11.13 Get:42 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxalan2-java all 2.7.2-4 [3,416 kB]
#6 11.30 Get:43 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libapache-pom-java all 18-1 [4,720 B]
#6 11.30 Get:44 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-parent-java all 43-1 [10.8 kB]
#6 11.30 Get:45 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-io-java all 2.11.0-2 [297 kB]
#6 11.31 Get:46 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-logging-java all 1.2-2 [60.3 kB]
#6 11.32 Get:47 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxmlgraphics-commons-java all 2.6-1 [612 kB]
#6 11.35 Get:48 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libbatik-java all 1.14-1ubuntu0.2 [3,866 kB]
#6 11.54 Get:49 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-cli-java all 1.4-2 [55.8 kB]
#6 11.54 Get:50 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjericho-html-java all 3.2-2 [185 kB]
#6 11.54 Get:51 http://archive.ubuntu.com/ubuntu jammy/universe amd64 ditaa all 0.10+ds1-1.2 [129 kB]
#6 11.55 Get:52 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 fontforge-common all 1:20201107~dfsg-4+deb11u1build0.22.04.1 [2,160 kB]
#6 11.66 Get:53 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libspiro1 amd64 1:20200505-2 [17.1 kB]
#6 11.66 Get:54 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libuninameslist1 amd64 20211114-1 [473 kB]
#6 11.68 Get:55 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwoff1 amd64 1.0.2-1build4 [45.2 kB]
#6 11.68 Get:56 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libfontforge4 amd64 1:20201107~dfsg-4+deb11u1build0.22.04.1 [2,167 kB]
#6 11.78 Get:57 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 fontforge amd64 1:20201107~dfsg-4+deb11u1build0.22.04.1 [1,523 kB]
#6 11.86 Get:58 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fonts-cantarell all 0.303-2 [286 kB]
#6 11.87 Get:59 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fonts-inconsolata all 001.010-6build1 [61.4 kB]
#6 11.87 Get:60 http://archive.ubuntu.com/ubuntu jammy/main amd64 fonts-liberation all 1:1.07.4-11 [822 kB]
#6 11.92 Get:61 http://archive.ubuntu.com/ubuntu jammy/universe amd64 aglfn all 1.7+git20191031.4036a9c-2 [30.6 kB]
#6 11.92 Get:62 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot-data all 5.4.2+dfsg2-2 [75.3 kB]
#6 11.92 Get:63 http://archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.4-0 amd64 5.4.4-1 [152 kB]
#6 11.93 Get:64 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB]
#6 11.93 Get:65 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwxbase3.0-0v5 amd64 3.0.5.1+dfsg-4 [881 kB]
#6 11.98 Get:66 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libnotify4 amd64 0.7.9-3ubuntu5.22.04.1 [20.3 kB]
#6 11.98 Get:67 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwxgtk3.0-gtk3-0v5 amd64 3.0.5.1+dfsg-4 [4,368 kB]
#6 12.19 Get:68 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot-qt amd64 5.4.2+dfsg2-2 [1,156 kB]
#6 12.24 Get:69 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot all 5.4.2+dfsg2-2 [3,576 B]
#6 12.25 Get:70 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libann0 amd64 1.1.2+doc-7build1 [26.0 kB]
#6 12.25 Get:71 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libcdt5 amd64 2.42.2-6ubuntu0.1 [21.1 kB]
#6 12.25 Get:72 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libcgraph6 amd64 2.42.2-6ubuntu0.1 [45.4 kB]
#6 12.25 Get:73 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgts-0.7-5 amd64 0.7.6+darcs121130-5 [164 kB]
#6 12.26 Get:74 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libpathplan4 amd64 2.42.2-6ubuntu0.1 [23.4 kB]
#6 12.26 Get:75 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgvc6 amd64 2.42.2-6ubuntu0.1 [724 kB]
#6 12.30 Get:76 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgvpr2 amd64 2.42.2-6ubuntu0.1 [192 kB]
#6 12.31 Get:77 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 liblab-gamut1 amd64 2.42.2-6ubuntu0.1 [1,965 kB]
#6 12.40 Get:78 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 graphviz amd64 2.42.2-6ubuntu0.1 [653 kB]
#6 12.43 Get:79 http://archive.ubuntu.com/ubuntu jammy/main amd64 icc-profiles-free all 2.0.1+dfsg-1.1 [214 kB]
#6 12.44 Get:80 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libavalon-framework-java all 4.2.0-10 [71.3 kB]
#6 12.45 Get:81 http://archive.ubuntu.com/ubuntu jammy/main amd64 libblas3 amd64 3.10.0-2ubuntu1 [228 kB]
#6 12.45 Get:82 http://archive.ubuntu.com/ubuntu jammy/main amd64 libblas-dev amd64 3.10.0-2ubuntu1 [164 kB]
#6 12.46 Get:83 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libfontbox2-java all 2.0.25-1 [1,502 kB]
#6 12.53 Get:84 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqdox-java all 1.12.1-3 [172 kB]
#6 12.54 Get:85 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libfop-java all 1:2.6-2 [10.1 MB]
#6 13.05 Get:86 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgfortran5 amd64 12.3.0-1ubuntu1~22.04 [879 kB]
#6 13.07 Get:87 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgts-bin amd64 0.7.6+darcs121130-5 [44.3 kB]
#6 13.08 Get:88 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjlatexmath-java all 1.0.7-3 [990 kB]
#6 13.13 Get:89 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblapack3 amd64 3.10.0-2ubuntu1 [2,504 kB]
#6 13.24 Get:90 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblapack-dev amd64 3.10.0-2ubuntu1 [4,774 kB]
#6 13.48 Get:91 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsaxon-java all 1:6.5.5-12 [574 kB]
#6 13.51 Get:92 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom-bin amd64 2.2.0-1 [13.6 kB]
#6 13.51 Get:93 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 plantuml all 1:1.2020.2+ds-1ubuntu0.1 [8,022 kB]
#6 13.90 Get:94 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 qt5-gtk-platformtheme amd64 5.15.3+dfsg-2ubuntu0.2 [130 kB]
#6 13.91 Get:95 http://archive.ubuntu.com/ubuntu jammy/universe amd64 qttranslations5-l10n all 5.15.3-1 [1,983 kB]
#6 14.00 Get:96 http://archive.ubuntu.com/ubuntu jammy/universe amd64 shellcheck amd64 0.8.0-2 [2,359 kB]
#6 14.78 debconf: delaying package configuration, since apt-utils is not installed
#6 14.83 Fetched 75.3 MB in 5s (16.4 MB/s)
#6 14.91 Selecting previously unselected package libpcre2-16-0:amd64.
(Reading database ...a93612.files and directories currently installed.)
#6 15.38 Preparing to unpack .../00-libpcre2-16-0_10.42-3+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
#6 15.39 Unpacking libpcre2-16-0:amd64 (10.42-3+ubuntu22.04.1+deb.sury.org+1) ...
#6 15.66 Selecting previously unselected package libqt5core5a:amd64.
#6 15.67 Preparing to unpack .../01-libqt5core5a_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 15.68 Unpacking libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 15.83 Selecting previously unselected package libwayland-server0:amd64.
#6 15.84 Preparing to unpack .../02-libwayland-server0_1.20.0-1ubuntu0.1_amd64.deb ...
#6 15.84 Unpacking libwayland-server0:amd64 (1.20.0-1ubuntu0.1) ...
#6 15.88 Selecting previously unselected package libgbm1:amd64.
#6 15.89 Preparing to unpack .../03-libgbm1_23.2.1-1ubuntu3.1~22.04.3_amd64.deb ...
#6 15.89 Unpacking libgbm1:amd64 (23.2.1-1ubuntu3.1~22.04.3) ...
#6 15.93 Selecting previously unselected package libegl-mesa0:amd64.
#6 15.94 Preparing to unpack .../04-libegl-mesa0_23.2.1-1ubuntu3.1~22.04.3_amd64.deb ...
#6 15.94 Unpacking libegl-mesa0:amd64 (23.2.1-1ubuntu3.1~22.04.3) ...
#6 15.98 Selecting previously unselected package libegl1:amd64.
#6 15.99 Preparing to unpack .../05-libegl1_1.4.0-1_amd64.deb ...
#6 15.99 Unpacking libegl1:amd64 (1.4.0-1) ...
#6 16.03 Selecting previously unselected package libevdev2:amd64.
#6 16.03 Preparing to unpack .../06-libevdev2_1.12.1+dfsg-1_amd64.deb ...
#6 16.04 Unpacking libevdev2:amd64 (1.12.1+dfsg-1) ...
#6 16.07 Selecting previously unselected package libmtdev1:amd64.
#6 16.08 Preparing to unpack .../07-libmtdev1_1.1.6-1build4_amd64.deb ...
#6 16.09 Unpacking libmtdev1:amd64 (1.1.6-1build4) ...
#6 16.21 Selecting previously unselected package libgudev-1.0-0:amd64.
#6 16.22 Preparing to unpack .../08-libgudev-1.0-0_1%3a237-2build1_amd64.deb ...
#6 16.22 Unpacking libgudev-1.0-0:amd64 (1:237-2build1) ...
#6 16.25 Selecting previously unselected package libwacom-common.
#6 16.26 Preparing to unpack .../09-libwacom-common_2.2.0-1_all.deb ...
#6 16.26 Unpacking libwacom-common (2.2.0-1) ...
#6 16.44 Selecting previously unselected package libwacom9:amd64.
#6 16.45 Preparing to unpack .../10-libwacom9_2.2.0-1_amd64.deb ...
#6 16.45 Unpacking libwacom9:amd64 (2.2.0-1) ...
#6 16.48 Selecting previously unselected package libinput-bin.
#6 16.49 Preparing to unpack .../11-libinput-bin_1.20.0-1ubuntu0.3_amd64.deb ...
#6 16.49 Unpacking libinput-bin (1.20.0-1ubuntu0.3) ...
#6 16.54 Selecting previously unselected package libinput10:amd64.
#6 16.54 Preparing to unpack .../12-libinput10_1.20.0-1ubuntu0.3_amd64.deb ...
#6 16.55 Unpacking libinput10:amd64 (1.20.0-1ubuntu0.3) ...
#6 16.60 Selecting previously unselected package libmd4c0:amd64.
#6 16.61 Preparing to unpack .../13-libmd4c0_0.4.8-1_amd64.deb ...
#6 16.61 Unpacking libmd4c0:amd64 (0.4.8-1) ...
#6 16.67 Selecting previously unselected package libqt5dbus5:amd64.
#6 16.68 Preparing to unpack .../14-libqt5dbus5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 16.68 Unpacking libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 16.74 Selecting previously unselected package libqt5network5:amd64.
#6 16.75 Preparing to unpack .../15-libqt5network5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 16.76 Unpacking libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 16.83 Selecting previously unselected package libxcb-icccm4:amd64.
#6 16.83 Preparing to unpack .../16-libxcb-icccm4_0.4.1-1.1build2_amd64.deb ...
#6 16.84 Unpacking libxcb-icccm4:amd64 (0.4.1-1.1build2) ...
#6 16.90 Selecting previously unselected package libxcb-util1:amd64.
#6 16.91 Preparing to unpack .../17-libxcb-util1_0.4.0-1build2_amd64.deb ...
#6 16.92 Unpacking libxcb-util1:amd64 (0.4.0-1build2) ...
#6 16.97 Selecting previously unselected package libxcb-image0:amd64.
#6 16.98 Preparing to unpack .../18-libxcb-image0_0.4.0-2_amd64.deb ...
#6 16.99 Unpacking libxcb-image0:amd64 (0.4.0-2) ...
#6 17.04 Selecting previously unselected package libxcb-keysyms1:amd64.
#6 17.05 Preparing to unpack .../19-libxcb-keysyms1_0.4.0-1build3_amd64.deb ...
#6 17.05 Unpacking libxcb-keysyms1:amd64 (0.4.0-1build3) ...
#6 17.11 Selecting previously unselected package libxcb-render-util0:amd64.
#6 17.12 Preparing to unpack .../20-libxcb-render-util0_0.3.9-1build3_amd64.deb ...
#6 17.12 Unpacking libxcb-render-util0:amd64 (0.3.9-1build3) ...
#6 17.18 Selecting previously unselected package libxcb-xinerama0:amd64.
#6 17.19 Preparing to unpack .../21-libxcb-xinerama0_1.14-3ubuntu3_amd64.deb ...
#6 17.20 Unpacking libxcb-xinerama0:amd64 (1.14-3ubuntu3) ...
#6 17.25 Selecting previously unselected package libxcb-xinput0:amd64.
#6 17.26 Preparing to unpack .../22-libxcb-xinput0_1.14-3ubuntu3_amd64.deb ...
#6 17.27 Unpacking libxcb-xinput0:amd64 (1.14-3ubuntu3) ...
#6 17.33 Selecting previously unselected package libxcb-xkb1:amd64.
#6 17.33 Preparing to unpack .../23-libxcb-xkb1_1.14-3ubuntu3_amd64.deb ...
#6 17.34 Unpacking libxcb-xkb1:amd64 (1.14-3ubuntu3) ...
#6 17.40 Selecting previously unselected package libxkbcommon-x11-0:amd64.
#6 17.41 Preparing to unpack .../24-libxkbcommon-x11-0_1.4.0-1_amd64.deb ...
#6 17.42 Unpacking libxkbcommon-x11-0:amd64 (1.4.0-1) ...
#6 17.50 Selecting previously unselected package libqt5gui5:amd64.
#6 17.50 Preparing to unpack .../25-libqt5gui5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 17.52 Unpacking libqt5gui5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 17.66 Selecting previously unselected package libqt5widgets5:amd64.
#6 17.67 Preparing to unpack .../26-libqt5widgets5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 17.68 Unpacking libqt5widgets5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 17.77 Selecting previously unselected package libqt5svg5:amd64.
#6 17.78 Preparing to unpack .../27-libqt5svg5_5.15.3-1_amd64.deb ...
#6 17.79 Unpacking libqt5svg5:amd64 (5.15.3-1) ...
#6 17.85 Selecting previously unselected package aspell-en.
#6 17.86 Preparing to unpack .../28-aspell-en_2018.04.16-0-1_all.deb ...
#6 17.86 Unpacking aspell-en (2018.04.16-0-1) ...
#6 17.96 Selecting previously unselected package binfmt-support.
#6 17.97 Preparing to unpack .../29-binfmt-support_2.2.1-2_amd64.deb ...
#6 17.97 Unpacking binfmt-support (2.2.1-2) ...
#6 18.26 Selecting previously unselected package default-jre-headless.
#6 18.27 Preparing to unpack .../30-default-jre-headless_2%3a1.11-72build2_amd64.deb ...
#6 18.28 Unpacking default-jre-headless (2:1.11-72build2) ...
#6 18.33 Selecting previously unselected package fastjar.
#6 18.34 Preparing to unpack .../31-fastjar_2%3a0.98-7_amd64.deb ...
#6 18.35 Unpacking fastjar (2:0.98-7) ...
#6 18.50 Selecting previously unselected package jarwrapper.
#6 18.51 Preparing to unpack .../32-jarwrapper_0.78_all.deb ...
#6 18.51 Unpacking jarwrapper (0.78) ...
#6 18.64 Selecting previously unselected package libhamcrest-java.
#6 18.65 Preparing to unpack .../33-libhamcrest-java_1.3-9_all.deb ...
#6 18.65 Unpacking libhamcrest-java (1.3-9) ...
#6 18.74 Selecting previously unselected package junit4.
#6 18.75 Preparing to unpack .../34-junit4_4.13.2-1_all.deb ...
#6 18.75 Unpacking junit4 (4.13.2-1) ...
#6 18.80 Selecting previously unselected package java-wrappers.
#6 18.81 Preparing to unpack .../35-java-wrappers_0.3_all.deb ...
#6 18.82 Unpacking java-wrappers (0.3) ...
#6 18.86 Selecting previously unselected package libjaxp1.3-java.
#6 18.87 Preparing to unpack .../36-libjaxp1.3-java_1.3.05-6_all.deb ...
#6 18.88 Unpacking libjaxp1.3-java (1.3.05-6) ...
#6 18.95 Selecting previously unselected package libxml-commons-external-java.
#6 18.96 Preparing to unpack .../37-libxml-commons-external-java_1.4.01-5_all.deb ...
#6 18.96 Unpacking libxml-commons-external-java (1.4.01-5) ...
#6 19.04 Selecting previously unselected package libxml-commons-resolver1.1-java.
#6 19.05 Preparing to unpack .../38-libxml-commons-resolver1.1-java_1.2-11_all.deb ...
#6 19.06 Unpacking libxml-commons-resolver1.1-java (1.2-11) ...
#6 19.11 Selecting previously unselected package libxerces2-java.
#6 19.12 Preparing to unpack .../39-libxerces2-java_2.12.1-1_all.deb ...
#6 19.13 Unpacking libxerces2-java (2.12.1-1) ...
#6 19.30 Selecting previously unselected package libxalan2-java.
#6 19.31 Preparing to unpack .../40-libxalan2-java_2.7.2-4_all.deb ...
#6 19.32 Unpacking libxalan2-java (2.7.2-4) ...
#6 19.66 Selecting previously unselected package libapache-pom-java.
#6 19.67 Preparing to unpack .../41-libapache-pom-java_18-1_all.deb ...
#6 19.68 Unpacking libapache-pom-java (18-1) ...
#6 19.73 Selecting previously unselected package libcommons-parent-java.
#6 19.73 Preparing to unpack .../42-libcommons-parent-java_43-1_all.deb ...
#6 19.74 Unpacking libcommons-parent-java (43-1) ...
#6 19.79 Selecting previously unselected package libcommons-io-java.
#6 19.80 Preparing to unpack .../43-libcommons-io-java_2.11.0-2_all.deb ...
#6 19.81 Unpacking libcommons-io-java (2.11.0-2) ...
#6 19.86 Selecting previously unselected package libcommons-logging-java.
#6 19.86 Preparing to unpack .../44-libcommons-logging-java_1.2-2_all.deb ...
#6 19.87 Unpacking libcommons-logging-java (1.2-2) ...
#6 19.93 Selecting previously unselected package libxmlgraphics-commons-java.
#6 19.94 Preparing to unpack .../45-libxmlgraphics-commons-java_2.6-1_all.deb ...
#6 19.95 Unpacking libxmlgraphics-commons-java (2.6-1) ...
#6 19.99 Selecting previously unselected package libbatik-java.
#6 20.00 Preparing to unpack .../46-libbatik-java_1.14-1ubuntu0.2_all.deb ...
#6 20.01 Unpacking libbatik-java (1.14-1ubuntu0.2) ...
#6 20.13 Selecting previously unselected package libcommons-cli-java.
#6 20.14 Preparing to unpack .../47-libcommons-cli-java_1.4-2_all.deb ...
#6 20.14 Unpacking libcommons-cli-java (1.4-2) ...
#6 20.19 Selecting previously unselected package libjericho-html-java.
#6 20.20 Preparing to unpack .../48-libjericho-html-java_3.2-2_all.deb ...
#6 20.21 Unpacking libjericho-html-java (3.2-2) ...
#6 20.27 Selecting previously unselected package ditaa.
#6 20.28 Preparing to unpack .../49-ditaa_0.10+ds1-1.2_all.deb ...
#6 20.29 Unpacking ditaa (0.10+ds1-1.2) ...
#6 20.35 Selecting previously unselected package fontforge-common.
#6 20.36 Preparing to unpack .../50-fontforge-common_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_all.deb ...
#6 20.36 Unpacking fontforge-common (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 21.89 Selecting previously unselected package libspiro1:amd64.
#6 21.90 Preparing to unpack .../51-libspiro1_1%3a20200505-2_amd64.deb ...
#6 21.91 Unpacking libspiro1:amd64 (1:20200505-2) ...
#6 21.96 Selecting previously unselected package libuninameslist1:amd64.
#6 21.97 Preparing to unpack .../52-libuninameslist1_20211114-1_amd64.deb ...
#6 21.98 Unpacking libuninameslist1:amd64 (20211114-1) ...
#6 22.05 Selecting previously unselected package libwoff1:amd64.
#6 22.06 Preparing to unpack .../53-libwoff1_1.0.2-1build4_amd64.deb ...
#6 22.07 Unpacking libwoff1:amd64 (1.0.2-1build4) ...
#6 22.12 Selecting previously unselected package libfontforge4:amd64.
#6 22.13 Preparing to unpack .../54-libfontforge4_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_amd64.deb ...
#6 22.14 Unpacking libfontforge4:amd64 (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 22.23 Selecting previously unselected package fontforge.
#6 22.24 Preparing to unpack .../55-fontforge_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_amd64.deb ...
#6 22.25 Unpacking fontforge (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 22.34 Selecting previously unselected package fonts-cantarell.
#6 22.35 Preparing to unpack .../56-fonts-cantarell_0.303-2_all.deb ...
#6 22.36 Unpacking fonts-cantarell (0.303-2) ...
#6 22.49 Selecting previously unselected package fonts-inconsolata.
#6 22.49 Preparing to unpack .../57-fonts-inconsolata_001.010-6build1_all.deb ...
#6 22.50 Unpacking fonts-inconsolata (001.010-6build1) ...
#6 22.56 Selecting previously unselected package fonts-liberation.
#6 22.56 Preparing to unpack .../58-fonts-liberation_1%3a1.07.4-11_all.deb ...
#6 22.57 Unpacking fonts-liberation (1:1.07.4-11) ...
#6 22.70 Selecting previously unselected package aglfn.
#6 22.70 Preparing to unpack .../59-aglfn_1.7+git20191031.4036a9c-2_all.deb ...
#6 22.71 Unpacking aglfn (1.7+git20191031.4036a9c-2) ...
#6 22.76 Selecting previously unselected package gnuplot-data.
#6 22.77 Preparing to unpack .../60-gnuplot-data_5.4.2+dfsg2-2_all.deb ...
#6 22.78 Unpacking gnuplot-data (5.4.2+dfsg2-2) ...
#6 22.84 Selecting previously unselected package liblua5.4-0:amd64.
#6 22.85 Preparing to unpack .../61-liblua5.4-0_5.4.4-1_amd64.deb ...
#6 22.85 Unpacking liblua5.4-0:amd64 (5.4.4-1) ...
#6 22.92 Selecting previously unselected package libqt5printsupport5:amd64.
#6 22.93 Preparing to unpack .../62-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 22.94 Unpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 23.00 Selecting previously unselected package libwxbase3.0-0v5:amd64.
#6 23.01 Preparing to unpack .../63-libwxbase3.0-0v5_3.0.5.1+dfsg-4_amd64.deb ...
#6 23.01 Unpacking libwxbase3.0-0v5:amd64 (3.0.5.1+dfsg-4) ...
#6 23.09 Selecting previously unselected package libnotify4:amd64.
#6 23.10 Preparing to unpack .../64-libnotify4_0.7.9-3ubuntu5.22.04.1_amd64.deb ...
#6 23.10 Unpacking libnotify4:amd64 (0.7.9-3ubuntu5.22.04.1) ...
#6 23.16 Selecting previously unselected package libwxgtk3.0-gtk3-0v5:amd64.
#6 23.17 Preparing to unpack .../65-libwxgtk3.0-gtk3-0v5_3.0.5.1+dfsg-4_amd64.deb ...
#6 23.17 Unpacking libwxgtk3.0-gtk3-0v5:amd64 (3.0.5.1+dfsg-4) ...
#6 23.32 Selecting previously unselected package gnuplot-qt.
#6 23.33 Preparing to unpack .../66-gnuplot-qt_5.4.2+dfsg2-2_amd64.deb ...
#6 23.34 Unpacking gnuplot-qt (5.4.2+dfsg2-2) ...
#6 23.40 Selecting previously unselected package gnuplot.
#6 23.41 Preparing to unpack .../67-gnuplot_5.4.2+dfsg2-2_all.deb ...
#6 23.42 Unpacking gnuplot (5.4.2+dfsg2-2) ...
#6 23.47 Selecting previously unselected package libann0.
#6 23.48 Preparing to unpack .../68-libann0_1.1.2+doc-7build1_amd64.deb ...
#6 23.49 Unpacking libann0 (1.1.2+doc-7build1) ...
#6 23.55 Selecting previously unselected package libcdt5:amd64.
#6 23.56 Preparing to unpack .../69-libcdt5_2.42.2-6ubuntu0.1_amd64.deb ...
#6 23.56 Unpacking libcdt5:amd64 (2.42.2-6ubuntu0.1) ...
#6 23.62 Selecting previously unselected package libcgraph6:amd64.
#6 23.62 Preparing to unpack .../70-libcgraph6_2.42.2-6ubuntu0.1_amd64.deb ...
#6 23.63 Unpacking libcgraph6:amd64 (2.42.2-6ubuntu0.1) ...
#6 23.69 Selecting previously unselected package libgts-0.7-5:amd64.
#6 23.70 Preparing to unpack .../71-libgts-0.7-5_0.7.6+darcs121130-5_amd64.deb ...
#6 23.71 Unpacking libgts-0.7-5:amd64 (0.7.6+darcs121130-5) ...
#6 23.76 Selecting previously unselected package libpathplan4:amd64.
#6 23.77 Preparing to unpack .../72-libpathplan4_2.42.2-6ubuntu0.1_amd64.deb ...
#6 23.78 Unpacking libpathplan4:amd64 (2.42.2-6ubuntu0.1) ...
#6 23.84 Selecting previously unselected package libgvc6.
#6 23.85 Preparing to unpack .../73-libgvc6_2.42.2-6ubuntu0.1_amd64.deb ...
#6 23.86 Unpacking libgvc6 (2.42.2-6ubuntu0.1) ...
#6 23.92 Selecting previously unselected package libgvpr2:amd64.
#6 23.93 Preparing to unpack .../74-libgvpr2_2.42.2-6ubuntu0.1_amd64.deb ...
#6 23.94 Unpacking libgvpr2:amd64 (2.42.2-6ubuntu0.1) ...
#6 24.00 Selecting previously unselected package liblab-gamut1:amd64.
#6 24.01 Preparing to unpack .../75-liblab-gamut1_2.42.2-6ubuntu0.1_amd64.deb ...
#6 24.01 Unpacking liblab-gamut1:amd64 (2.42.2-6ubuntu0.1) ...
#6 24.08 Selecting previously unselected package graphviz.
#6 24.09 Preparing to unpack .../76-graphviz_2.42.2-6ubuntu0.1_amd64.deb ...
#6 24.10 Unpacking graphviz (2.42.2-6ubuntu0.1) ...
#6 24.17 Selecting previously unselected package icc-profiles-free.
#6 24.18 Preparing to unpack .../77-icc-profiles-free_2.0.1+dfsg-1.1_all.deb ...
#6 24.19 Unpacking icc-profiles-free (2.0.1+dfsg-1.1) ...
#6 24.26 Selecting previously unselected package libavalon-framework-java.
#6 24.27 Preparing to unpack .../78-libavalon-framework-java_4.2.0-10_all.deb ...
#6 24.28 Unpacking libavalon-framework-java (4.2.0-10) ...
#6 24.35 Selecting previously unselected package libblas3:amd64.
#6 24.36 Preparing to unpack .../79-libblas3_3.10.0-2ubuntu1_amd64.deb ...
#6 24.37 Unpacking libblas3:amd64 (3.10.0-2ubuntu1) ...
#6 24.44 Selecting previously unselected package libblas-dev:amd64.
#6 24.45 Preparing to unpack .../80-libblas-dev_3.10.0-2ubuntu1_amd64.deb ...
#6 24.46 Unpacking libblas-dev:amd64 (3.10.0-2ubuntu1) ...
#6 24.51 Selecting previously unselected package libfontbox2-java.
#6 24.52 Preparing to unpack .../81-libfontbox2-java_2.0.25-1_all.deb ...
#6 24.53 Unpacking libfontbox2-java (2.0.25-1) ...
#6 24.60 Selecting previously unselected package libqdox-java.
#6 24.61 Preparing to unpack .../82-libqdox-java_1.12.1-3_all.deb ...
#6 24.62 Unpacking libqdox-java (1.12.1-3) ...
#6 24.68 Selecting previously unselected package libfop-java.
#6 24.69 Preparing to unpack .../83-libfop-java_1%3a2.6-2_all.deb ...
#6 24.70 Unpacking libfop-java (1:2.6-2) ...
#6 24.88 Selecting previously unselected package libgfortran5:amd64.
#6 24.89 Preparing to unpack .../84-libgfortran5_12.3.0-1ubuntu1~22.04_amd64.deb ...
#6 24.89 Unpacking libgfortran5:amd64 (12.3.0-1ubuntu1~22.04) ...
#6 24.94 Selecting previously unselected package libgts-bin.
#6 24.95 Preparing to unpack .../85-libgts-bin_0.7.6+darcs121130-5_amd64.deb ...
#6 24.95 Unpacking libgts-bin (0.7.6+darcs121130-5) ...
#6 24.98 Selecting previously unselected package libjlatexmath-java.
#6 24.99 Preparing to unpack .../86-libjlatexmath-java_1.0.7-3_all.deb ...
#6 24.99 Unpacking libjlatexmath-java (1.0.7-3) ...
#6 25.11 Selecting previously unselected package liblapack3:amd64.
#6 25.12 Preparing to unpack .../87-liblapack3_3.10.0-2ubuntu1_amd64.deb ...
#6 25.12 Unpacking liblapack3:amd64 (3.10.0-2ubuntu1) ...
#6 25.20 Selecting previously unselected package liblapack-dev:amd64.
#6 25.21 Preparing to unpack .../88-liblapack-dev_3.10.0-2ubuntu1_amd64.deb ...
#6 25.22 Unpacking liblapack-dev:amd64 (3.10.0-2ubuntu1) ...
#6 25.38 Selecting previously unselected package libsaxon-java.
#6 25.39 Preparing to unpack .../89-libsaxon-java_1%3a6.5.5-12_all.deb ...
#6 25.39 Unpacking libsaxon-java (1:6.5.5-12) ...
#6 25.47 Selecting previously unselected package libwacom-bin.
#6 25.48 Preparing to unpack .../90-libwacom-bin_2.2.0-1_amd64.deb ...
#6 25.49 Unpacking libwacom-bin (2.2.0-1) ...
#6 25.53 Preparing to unpack .../91-libxml2-utils_2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
#6 25.54 Unpacking libxml2-utils (2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1) over (2.9.13+dfsg-1ubuntu0.6) ...
#6 25.68 Selecting previously unselected package plantuml.
#6 25.69 Preparing to unpack .../92-plantuml_1%3a1.2020.2+ds-1ubuntu0.1_all.deb ...
#6 25.69 Unpacking plantuml (1:1.2020.2+ds-1ubuntu0.1) ...
#6 25.76 Selecting previously unselected package qt5-gtk-platformtheme:amd64.
#6 25.77 Preparing to unpack .../93-qt5-gtk-platformtheme_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
#6 25.77 Unpacking qt5-gtk-platformtheme:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 25.81 Selecting previously unselected package qttranslations5-l10n.
#6 25.81 Preparing to unpack .../94-qttranslations5-l10n_5.15.3-1_all.deb ...
#6 25.82 Unpacking qttranslations5-l10n (5.15.3-1) ...
#6 25.97 Selecting previously unselected package shellcheck.
#6 25.98 Preparing to unpack .../95-shellcheck_0.8.0-2_amd64.deb ...
#6 25.98 Unpacking shellcheck (0.8.0-2) ...
#6 26.12 Setting up fastjar (2:0.98-7) ...
#6 26.18 Setting up libwayland-server0:amd64 (1.20.0-1ubuntu0.1) ...
#6 26.19 Setting up fonts-cantarell (0.303-2) ...
#6 26.20 Setting up libqdox-java (1.12.1-3) ...
#6 26.20 Setting up java-wrappers (0.3) ...
#6 26.21 Setting up default-jre-headless (2:1.11-72build2) ...
#6 26.22 Setting up libxcb-xinput0:amd64 (1.14-3ubuntu3) ...
#6 26.23 Setting up libwoff1:amd64 (1.0.2-1build4) ...
#6 26.24 Setting up libgbm1:amd64 (23.2.1-1ubuntu3.1~22.04.3) ...
#6 26.25 Setting up libcommons-cli-java (1.4-2) ...
#6 26.26 Setting up libsaxon-java (1:6.5.5-12) ...
#6 26.27 Setting up libspiro1:amd64 (1:20200505-2) ...
#6 26.28 Setting up liblab-gamut1:amd64 (2.42.2-6ubuntu0.1) ...
#6 26.29 Setting up libxcb-keysyms1:amd64 (0.4.0-1build3) ...
#6 26.30 Setting up aspell-en (2018.04.16-0-1) ...
#6 26.45 Setting up libxcb-render-util0:amd64 (0.3.9-1build3) ...
#6 26.46 Setting up fontforge-common (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 26.47 Setting up libxcb-icccm4:amd64 (0.4.1-1.1build2) ...
#6 26.48 Setting up libpcre2-16-0:amd64 (10.42-3+ubuntu22.04.1+deb.sury.org+1) ...
#6 26.49 Setting up shellcheck (0.8.0-2) ...
#6 26.49 Setting up libxcb-util1:amd64 (0.4.0-1build2) ...
#6 26.50 Setting up libjericho-html-java (3.2-2) ...
#6 26.51 Setting up libxcb-xkb1:amd64 (1.14-3ubuntu3) ...
#6 26.52 Setting up libxcb-image0:amd64 (0.4.0-2) ...
#6 26.53 Setting up fonts-inconsolata (001.010-6build1) ...
#6 26.54 Setting up libfontbox2-java (2.0.25-1) ...
#6 26.55 Setting up libgts-0.7-5:amd64 (0.7.6+darcs121130-5) ...
#6 26.56 Setting up libblas3:amd64 (3.10.0-2ubuntu1) ...
#6 26.57 update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode
#6 26.57 Setting up libegl-mesa0:amd64 (23.2.1-1ubuntu3.1~22.04.3) ...
#6 26.58 Setting up libxcb-xinerama0:amd64 (1.14-3ubuntu3) ...
#6 26.59 Setting up qttranslations5-l10n (5.15.3-1) ...
#6 26.60 Setting up libnotify4:amd64 (0.7.9-3ubuntu5.22.04.1) ...
#6 26.60 Setting up libpathplan4:amd64 (2.42.2-6ubuntu0.1) ...
#6 26.61 Setting up aglfn (1.7+git20191031.4036a9c-2) ...
#6 26.62 Setting up libapache-pom-java (18-1) ...
#6 26.63 Setting up libann0 (1.1.2+doc-7build1) ...
#6 26.64 Setting up libxkbcommon-x11-0:amd64 (1.4.0-1) ...
#6 26.64 Setting up icc-profiles-free (2.0.1+dfsg-1.1) ...
#6 26.65 Setting up libxml-commons-resolver1.1-java (1.2-11) ...
#6 26.67 Setting up binfmt-support (2.2.1-2) ...
#6 26.72 invoke-rc.d: could not determine current runlevel
#6 26.73 invoke-rc.d: policy-rc.d denied execution of restart.
#6 27.02 Created symlink /etc/systemd/system/multi-user.target.wants/binfmt-support.service → /lib/systemd/system/binfmt-support.service.
#6 27.03 Setting up libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.04 Setting up libhamcrest-java (1.3-9) ...
#6 27.05 Setting up libgfortran5:amd64 (12.3.0-1ubuntu1~22.04) ...
#6 27.06 Setting up libmtdev1:amd64 (1.1.6-1build4) ...
#6 27.07 Setting up libuninameslist1:amd64 (20211114-1) ...
#6 27.08 Setting up libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.09 Setting up libxml-commons-external-java (1.4.01-5) ...
#6 27.10 Setting up fonts-liberation (1:1.07.4-11) ...
#6 27.11 Setting up libegl1:amd64 (1.4.0-1) ...
#6 27.12 Setting up libavalon-framework-java (4.2.0-10) ...
#6 27.13 Setting up libmd4c0:amd64 (0.4.8-1) ...
#6 27.14 Setting up liblua5.4-0:amd64 (5.4.4-1) ...
#6 27.14 Setting up libwxbase3.0-0v5:amd64 (3.0.5.1+dfsg-4) ...
#6 27.15 Setting up libcdt5:amd64 (2.42.2-6ubuntu0.1) ...
#6 27.16 Setting up libcgraph6:amd64 (2.42.2-6ubuntu0.1) ...
#6 27.17 Setting up libjlatexmath-java (1.0.7-3) ...
#6 27.18 Setting up libxerces2-java (2.12.1-1) ...
#6 27.19 Setting up libjaxp1.3-java (1.3.05-6) ...
#6 27.20 Setting up libxml2-utils (2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1) ...
#6 27.21 Setting up libevdev2:amd64 (1.12.1+dfsg-1) ...
#6 27.22 Setting up libgudev-1.0-0:amd64 (1:237-2build1) ...
#6 27.23 Setting up libblas-dev:amd64 (3.10.0-2ubuntu1) ...
#6 27.24 update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so to provide /usr/lib/x86_64-linux-gnu/libblas.so (libblas.so-x86_64-linux-gnu) in auto mode
#6 27.25 Setting up libwacom-common (2.2.0-1) ...
#6 27.26 Setting up junit4 (4.13.2-1) ...
#6 27.27 Setting up gnuplot-data (5.4.2+dfsg2-2) ...
#6 27.28 Setting up libgts-bin (0.7.6+darcs121130-5) ...
#6 27.29 Setting up liblapack3:amd64 (3.10.0-2ubuntu1) ...
#6 27.30 update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode
#6 27.30 Setting up jarwrapper (0.78) ...
#6 27.31 Setting up libwacom9:amd64 (2.2.0-1) ...
#6 27.32 Setting up libcommons-parent-java (43-1) ...
#6 27.33 Setting up libcommons-logging-java (1.2-2) ...
#6 27.34 Setting up libfontforge4:amd64 (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 27.35 Setting up libwxgtk3.0-gtk3-0v5:amd64 (3.0.5.1+dfsg-4) ...
#6 27.36 Setting up libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.37 Setting up libinput-bin (1.20.0-1ubuntu0.3) ...
#6 27.38 Setting up libxalan2-java (2.7.2-4) ...
#6 27.39 Setting up liblapack-dev:amd64 (3.10.0-2ubuntu1) ...
#6 27.40 update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so to provide /usr/lib/x86_64-linux-gnu/liblapack.so (liblapack.so-x86_64-linux-gnu) in auto mode
#6 27.41 Setting up libgvc6 (2.42.2-6ubuntu0.1) ...
#6 27.66 Setting up libwacom-bin (2.2.0-1) ...
#6 27.67 Setting up libgvpr2:amd64 (2.42.2-6ubuntu0.1) ...
#6 27.68 Setting up graphviz (2.42.2-6ubuntu0.1) ...
#6 27.69 Setting up libinput10:amd64 (1.20.0-1ubuntu0.3) ...
#6 27.70 Setting up fontforge (1:20201107~dfsg-4+deb11u1build0.22.04.1) ...
#6 27.72 Setting up libcommons-io-java (2.11.0-2) ...
#6 27.73 Setting up libqt5gui5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.74 Setting up libxmlgraphics-commons-java (2.6-1) ...
#6 27.75 Setting up libqt5widgets5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.76 Setting up qt5-gtk-platformtheme:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.77 Setting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
#6 27.78 Setting up libbatik-java (1.14-1ubuntu0.2) ...
#6 27.79 Setting up libqt5svg5:amd64 (5.15.3-1) ...
#6 27.80 Setting up gnuplot-qt (5.4.2+dfsg2-2) ...
#6 27.81 update-alternatives: using /usr/bin/gnuplot-qt to provide /usr/bin/gnuplot (gnuplot) in auto mode
#6 27.81 update-alternatives: warning: skip creation of /usr/share/man/man1/gnuplot.1.gz because associated file /usr/share/man/man1/gnuplot-qt.1.gz (of link group gnuplot) doesn't exist
#6 27.82 Setting up ditaa (0.10+ds1-1.2) ...
#6 27.83 Setting up gnuplot (5.4.2+dfsg2-2) ...
#6 27.84 Setting up libfop-java (1:2.6-2) ...
#6 27.84 Setting up plantuml (1:1.2020.2+ds-1ubuntu0.1) ...
#6 27.85 Processing triggers for hicolor-icon-theme (0.17-2) ...
#6 30.72 Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
#6 31.41 Processing triggers for man-db (2.10.2-1) ...
#6 31.68 Processing triggers for shared-mime-info (2.1-2) ...
#6 34.95 Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
#6 35.14 Processing triggers for fontconfig (2.13.1-4.2ubuntu5) ...
#6 35.34 Processing triggers for dictionaries-common (1.28.14) ...
#6 35.47 aspell-autobuildhash: processing: en [en-common].
#6 35.63 aspell-autobuildhash: processing: en [en-variant_0].
#6 35.64 aspell-autobuildhash: processing: en [en-variant_1].
#6 35.65 aspell-autobuildhash: processing: en [en-variant_2].
#6 35.67 aspell-autobuildhash: processing: en [en-w_accents-only].
#6 35.68 aspell-autobuildhash: processing: en [en-wo_accents-only].
#6 35.70 aspell-autobuildhash: processing: en [en_AU-variant_0].
#6 35.71 aspell-autobuildhash: processing: en [en_AU-variant_1].
#6 35.72 aspell-autobuildhash: processing: en [en_AU-w_accents-only].
#6 35.73 aspell-autobuildhash: processing: en [en_AU-wo_accents-only].
#6 35.75 aspell-autobuildhash: processing: en [en_CA-variant_0].
#6 35.76 aspell-autobuildhash: processing: en [en_CA-variant_1].
#6 35.77 aspell-autobuildhash: processing: en [en_CA-w_accents-only].
#6 35.78 aspell-autobuildhash: processing: en [en_CA-wo_accents-only].
#6 35.79 aspell-autobuildhash: processing: en [en_GB-ise-w_accents-only].
#6 35.80 aspell-autobuildhash: processing: en [en_GB-ise-wo_accents-only].
#6 35.81 aspell-autobuildhash: processing: en [en_GB-ize-w_accents-only].
#6 35.82 aspell-autobuildhash: processing: en [en_GB-ize-wo_accents-only].
#6 35.84 aspell-autobuildhash: processing: en [en_GB-variant_0].
#6 35.85 aspell-autobuildhash: processing: en [en_GB-variant_1].
#6 35.86 aspell-autobuildhash: processing: en [en_US-w_accents-only].
#6 35.87 aspell-autobuildhash: processing: en [en_US-wo_accents-only].
#6 36.55 PlantUML version 1.2020.02 (Sun Mar 01 10:22:07 UTC 2020)
#6 36.55 (GPL source distribution)
#6 36.57 Java Runtime: OpenJDK Runtime Environment
#6 36.57 JVM: OpenJDK 64-Bit Server VM
#6 36.57 Java Version: 17.0.14+7-Ubuntu-122.04.1
#6 36.57 Operating System: Linux
#6 36.57 Default Encoding: UTF-8
#6 36.57 Language: en
#6 36.57 Country: US
#6 36.57 Machine: buildkitsandbox
#6 36.57 PLANTUML_LIMIT_SIZE: 4096
#6 36.57 Processors: 1
#6 36.57 Max Memory: 496,697,344
#6 36.57 Total Memory: 32,440,320
#6 36.57 Free Memory: 26,224,616
#6 36.57 Used Memory: 6,215,704
#6 36.57 Thread Active Count: 1
#6 36.58
#6 36.67 The environment variable GRAPHVIZ_DOT has not been set
#6 36.67 Dot executable is /usr/bin/dot
#6 36.67 Dot version: dot - graphviz version 2.43.0 (0)
#6 36.67 Installation seems OK. File generation OK
#6 36.68 @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8)
#6 36.70 Copyright (c) 2000-2024. See AUTHORS for Contributors.
#6 36.70  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
#6 36.70  with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
#6 36.70  Version: 20201107
#6 36.70  Based on sources from 2024-06-24 13:55 UTC-ML-D-GDK3.
#6 36.70 PythonUI_Init()
#6 36.70 copyUIMethodsToBaseTable()
#6 36.72 fontforge 20201107
#6 36.72 build date: 2024-06-24 13:55 UTC
#6 36.78 gnuplot 5.4 patchlevel 2
#6 36.93 cmake version 3.22.1
#6 36.93
#6 36.93 CMake suite maintained and supported by Kitware (kitware.com/cmake).
#6 36.94 ShellCheck - shell script analysis tool
#6 36.94 version: 0.8.0
#6 36.94 license: GNU General Public License, version 3
#6 36.94 website: https://www.shellcheck.net
#6 DONE 37.1s

#7 [3/9] RUN npm install -g eslint@8.44.0 &&   eslint --version
#7 7.064 npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
#7 7.115 npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
#7 7.252 npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
#7 7.258 npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
#7 7.298 npm warn deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
#7 7.588 npm warn deprecated eslint@8.44.0: This version is no longer supported. Please see https://eslint.org/version-support for other options.
#7 7.601
#7 7.601 added 98 packages in 7s
#7 7.603
#7 7.603 24 packages are looking for funding
#7 7.603   run `npm fund` for details
#7 7.605 npm notice
#7 7.605 npm notice New major version of npm available! 10.8.2 -> 11.3.0
#7 7.605 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.3.0
#7 7.605 npm notice To update run: npm install -g npm@11.3.0
#7 7.605 npm notice
#7 7.876 v8.44.0
#7 DONE 8.0s

#8 [4/9] RUN git clone https://github.com/htacg/tidy-html5.git _tidy-html5 &&   cd _tidy-html5/build/cmake &&   git checkout 5.8.0 &&   cmake ../.. &&   make &&   make install &&   tidy --version
#8 0.372 Cloning into '_tidy-html5'...
#8 2.487 Note: switching to '5.8.0'.
#8 2.487
#8 2.487 You are in 'detached HEAD' state. You can look around, make experimental
#8 2.487 changes and commit them, and you can discard any commits you make in this
#8 2.487 state without impacting any branches by switching back to a branch.
#8 2.487
#8 2.487 If you want to create a new branch to retain commits you create, you may
#8 2.487 do so (now or later) by using -c with the switch command. Example:
#8 2.487
#8 2.487   git switch -c <new-branch-name>
#8 2.487
#8 2.487 Or undo this operation with:
#8 2.487
#8 2.487   git switch -
#8 2.487
#8 2.487 Turn off this advice by setting config variable advice.detachedHead to false
#8 2.487
#8 2.488 HEAD is now at 1ca3747 Merging gitignore; no version bump.
#8 2.841 -- The C compiler identification is GNU 11.4.0
#8 3.055 -- The CXX compiler identification is GNU 11.4.0
#8 3.085 -- Detecting C compiler ABI info
#8 3.175 -- Detecting C compiler ABI info - done
#8 3.185 -- Check for working C compiler: /usr/bin/cc - skipped
#8 3.187 -- Detecting C compile features
#8 3.189 -- Detecting C compile features - done
#8 3.197 -- Detecting CXX compiler ABI info
#8 3.289 -- Detecting CXX compiler ABI info - done
#8 3.300 -- Check for working CXX compiler: /usr/bin/c++ - skipped
#8 3.301 -- Detecting CXX compile features
#8 3.302 -- Detecting CXX compile features - done
#8 3.303 -> TIDY_SO_VERSION = 58. This is an EVEN (stable) release.
#8 3.304 -- *** Debug Logging is NOT enabled.
#8 3.304 -- *** Building support for runtime configuration files.
#8 3.304 -- *** Also building DLL library SHARED, version 5.8.0, date 2021.07.10
#8 3.306 -- *** NOTE: xsltproc NOT FOUND! Can NOT generate man page.
#8 3.306 -- *** You need to install xsltproc in your system.
#8 3.317 -- Configuring done
#8 3.332 -- Generating done
#8 3.333 -- Build files have been written to: /tmp/_tidy-html5/build/cmake
#8 3.377 [  1%] Building C object CMakeFiles/tidy-static.dir/src/access.c.o
#8 3.508 /tmp/_tidy-html5/src/access.c:892:40: warning: argument 2 of type ‘int[]’ with mismatched bound [-Warray-parameter=]
#8 3.508   892 | static Bool GetRgb( ctmbstr color, int rgb[] )
#8 3.508       |                                    ~~~~^~~~~
#8 3.509 /tmp/_tidy-html5/src/access.c:380:40: note: previously declared as ‘int[3]’
#8 3.509   380 | static Bool GetRgb( ctmbstr color, int rgb[3] );
#8 3.509       |                                    ~~~~^~~~~~
#8 3.650 [  3%] Building C object CMakeFiles/tidy-static.dir/src/attrs.c.o
#8 3.694 /tmp/_tidy-html5/src/attrs.c: In function ‘CheckDecimal’:
#8 3.695 /tmp/_tidy-html5/src/attrs.c:2300:13: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
#8 3.695  2300 |             else
#8 3.695       |             ^~~~
#8 3.696 /tmp/_tidy-html5/src/attrs.c:2302:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
#8 3.696  2302 |                 break;
#8 3.696       |                 ^~~~~
#8 3.815 [  5%] Building C object CMakeFiles/tidy-static.dir/src/istack.c.o
#8 3.874 [  7%] Building C object CMakeFiles/tidy-static.dir/src/parser.c.o
#8 4.095 [  8%] Building C object CMakeFiles/tidy-static.dir/src/tags.c.o
#8 4.191 [ 10%] Building C object CMakeFiles/tidy-static.dir/src/entities.c.o
#8 4.273 [ 12%] Building C object CMakeFiles/tidy-static.dir/src/lexer.c.o
#8 4.471 [ 14%] Building C object CMakeFiles/tidy-static.dir/src/pprint.c.o
#8 4.619 [ 16%] Building C object CMakeFiles/tidy-static.dir/src/charsets.c.o
#8 4.674 [ 17%] Building C object CMakeFiles/tidy-static.dir/src/clean.c.o
#8 4.835 [ 19%] Building C object CMakeFiles/tidy-static.dir/src/message.c.o
#8 4.945 [ 21%] Building C object CMakeFiles/tidy-static.dir/src/config.c.o
#8 5.080 [ 23%] Building C object CMakeFiles/tidy-static.dir/src/alloc.c.o
#8 5.123 [ 25%] Building C object CMakeFiles/tidy-static.dir/src/attrdict.c.o
#8 5.486 [ 26%] Building C object CMakeFiles/tidy-static.dir/src/buffio.c.o
#8 5.539 [ 28%] Building C object CMakeFiles/tidy-static.dir/src/fileio.c.o
#8 5.583 [ 30%] Building C object CMakeFiles/tidy-static.dir/src/streamio.c.o
#8 5.672 [ 32%] Building C object CMakeFiles/tidy-static.dir/src/tagask.c.o
#8 5.718 [ 33%] Building C object CMakeFiles/tidy-static.dir/src/tmbstr.c.o
#8 5.769 [ 35%] Building C object CMakeFiles/tidy-static.dir/src/utf8.c.o
#8 5.822 [ 37%] Building C object CMakeFiles/tidy-static.dir/src/tidylib.c.o
#8 5.986 [ 39%] Building C object CMakeFiles/tidy-static.dir/src/mappedio.c.o
#8 6.036 [ 41%] Building C object CMakeFiles/tidy-static.dir/src/gdoc.c.o
#8 6.086 [ 42%] Building C object CMakeFiles/tidy-static.dir/src/language.c.o
#8 6.172 [ 44%] Building C object CMakeFiles/tidy-static.dir/src/messageobj.c.o
#8 6.248 [ 46%] Building C object CMakeFiles/tidy-static.dir/src/sprtf.c.o
#8 6.283 [ 48%] Linking C static library libtidy.a
#8 6.340 [ 48%] Built target tidy-static
#8 6.360 [ 50%] Building C object CMakeFiles/tidy-share.dir/src/access.c.o
#8 6.389 /tmp/_tidy-html5/src/access.c:892:40: warning: argument 2 of type ‘int[]’ with mismatched bound [-Warray-parameter=]
#8 6.389   892 | static Bool GetRgb( ctmbstr color, int rgb[] )
#8 6.389       |                                    ~~~~^~~~~
#8 6.390 /tmp/_tidy-html5/src/access.c:380:40: note: previously declared as ‘int[3]’
#8 6.390   380 | static Bool GetRgb( ctmbstr color, int rgb[3] );
#8 6.390       |                                    ~~~~^~~~~~
#8 6.515 [ 51%] Building C object CMakeFiles/tidy-share.dir/src/attrs.c.o
#8 6.554 /tmp/_tidy-html5/src/attrs.c: In function ‘CheckDecimal’:
#8 6.555 /tmp/_tidy-html5/src/attrs.c:2300:13: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
#8 6.555  2300 |             else
#8 6.555       |             ^~~~
#8 6.556 /tmp/_tidy-html5/src/attrs.c:2302:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
#8 6.556  2302 |                 break;
#8 6.556       |                 ^~~~~
#8 6.671 [ 53%] Building C object CMakeFiles/tidy-share.dir/src/istack.c.o
#8 6.730 [ 55%] Building C object CMakeFiles/tidy-share.dir/src/parser.c.o
#8 6.954 [ 57%] Building C object CMakeFiles/tidy-share.dir/src/tags.c.o
#8 7.043 [ 58%] Building C object CMakeFiles/tidy-share.dir/src/entities.c.o
#8 7.119 [ 60%] Building C object CMakeFiles/tidy-share.dir/src/lexer.c.o
#8 7.321 [ 62%] Building C object CMakeFiles/tidy-share.dir/src/pprint.c.o
#8 7.470 [ 64%] Building C object CMakeFiles/tidy-share.dir/src/charsets.c.o
#8 7.522 [ 66%] Building C object CMakeFiles/tidy-share.dir/src/clean.c.o
#8 7.677 [ 67%] Building C object CMakeFiles/tidy-share.dir/src/message.c.o
#8 7.778 [ 69%] Building C object CMakeFiles/tidy-share.dir/src/config.c.o
#8 7.906 [ 71%] Building C object CMakeFiles/tidy-share.dir/src/alloc.c.o
#8 7.949 [ 73%] Building C object CMakeFiles/tidy-share.dir/src/attrdict.c.o
#8 8.289 [ 75%] Building C object CMakeFiles/tidy-share.dir/src/buffio.c.o
#8 8.342 [ 76%] Building C object CMakeFiles/tidy-share.dir/src/fileio.c.o
#8 8.385 [ 78%] Building C object CMakeFiles/tidy-share.dir/src/streamio.c.o
#8 8.470 [ 80%] Building C object CMakeFiles/tidy-share.dir/src/tagask.c.o
#8 8.515 [ 82%] Building C object CMakeFiles/tidy-share.dir/src/tmbstr.c.o
#8 8.567 [ 83%] Building C object CMakeFiles/tidy-share.dir/src/utf8.c.o
#8 8.621 [ 85%] Building C object CMakeFiles/tidy-share.dir/src/tidylib.c.o
#8 8.781 [ 87%] Building C object CMakeFiles/tidy-share.dir/src/mappedio.c.o
#8 8.826 [ 89%] Building C object CMakeFiles/tidy-share.dir/src/gdoc.c.o
#8 8.873 [ 91%] Building C object CMakeFiles/tidy-share.dir/src/language.c.o
#8 8.958 [ 92%] Building C object CMakeFiles/tidy-share.dir/src/messageobj.c.o
#8 9.033 [ 94%] Building C object CMakeFiles/tidy-share.dir/src/sprtf.c.o
#8 9.065 [ 96%] Linking C shared library libtidy.so
#8 9.135 [ 96%] Built target tidy-share
#8 9.157 [ 98%] Building C object CMakeFiles/tidy.dir/console/tidy.c.o
#8 9.288 [100%] Linking C executable tidy
#8 9.341 [100%] Built target tidy
#8 9.391 Consolidate compiler generated dependencies of target tidy-static
#8 9.405 [ 48%] Built target tidy-static
#8 9.426 Consolidate compiler generated dependencies of target tidy-share
#8 9.441 [ 96%] Built target tidy-share
#8 9.452 Consolidate compiler generated dependencies of target tidy
#8 9.465 [100%] Built target tidy
#8 9.483 Install the project...
#8 9.492 -- Install configuration: ""
#8 9.492 -- Installing: /usr/local/lib/libtidy.a
#8 9.495 -- Installing: /usr/local/include/tidyplatform.h
#8 9.495 -- Installing: /usr/local/include/tidy.h
#8 9.496 -- Installing: /usr/local/include/tidyenum.h
#8 9.497 -- Installing: /usr/local/include/tidybuffio.h
#8 9.497 -- Installing: /usr/local/lib/libtidy.so.5.8.0
#8 9.499 -- Installing: /usr/local/lib/libtidy.so.58
#8 9.499 -- Installing: /usr/local/lib/libtidy.so
#8 9.499 -- Installing: /usr/local/bin/tidy
#8 9.502 -- Installing: /usr/local/lib/pkgconfig/tidy.pc
#8 9.504 HTML Tidy for Linux version 5.8.0
#8 DONE 9.6s

#9 [5/9] RUN apt-get install -y woff2
#9 0.389 Reading package lists...
#9 1.594 Building dependency tree...
#9 1.847 Reading state information...
#9 2.102 The following NEW packages will be installed:
#9 2.103   woff2
#9 2.146 0 upgraded, 1 newly installed, 0 to remove and 83 not upgraded.
#9 2.146 Need to get 11.4 kB of archives.
#9 2.146 After this operation, 72.7 kB of additional disk space will be used.
#9 2.146 Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 woff2 amd64 1.0.2-1build4 [11.4 kB]
#9 2.353 debconf: delaying package configuration, since apt-utils is not installed
#9 2.411 Fetched 11.4 kB in 0s (300 kB/s)
#9 2.442 Selecting previously unselected package woff2.
(Reading database ...a96564.files and directories currently installed.)
#9 2.914 Preparing to unpack .../woff2_1.0.2-1build4_amd64.deb ...
#9 2.921 Unpacking woff2 (1.0.2-1build4) ...
#9 2.978 Setting up woff2 (1.0.2-1build4) ...
#9 DONE 3.0s

#10 [6/9] COPY _docker/woff.zip /tmp/woff.zip
#10 DONE 0.1s

#11 [7/9] RUN unzip /tmp/woff.zip -d _sfnt2woff &&   cd _sfnt2woff &&   make &&   cp sfnt2woff /usr/local/bin/ &&   sfnt2woff --version
#11 0.286 Archive:  /tmp/woff.zip
#11 0.287   inflating: _sfnt2woff/Makefile
#11 0.288   inflating: _sfnt2woff/sfnt2woff.c
#11 0.289   inflating: _sfnt2woff/woff.c
#11 0.290   inflating: _sfnt2woff/woff2sfnt.c
#11 0.290   inflating: _sfnt2woff/woff-private.h
#11 0.291   inflating: _sfnt2woff/woff.h
#11 0.291   inflating: _sfnt2woff/woff-2009-10-03.html
#11 0.294 cc    -c -o sfnt2woff.o sfnt2woff.c
#11 0.336 cc    -c -o woff.o woff.c
#11 0.430 cc  -o sfnt2woff sfnt2woff.o woff.o -lz
#11 0.454 cc    -c -o woff2sfnt.o woff2sfnt.c
#11 0.488 cc  -o woff2sfnt woff2sfnt.o woff.o -lz
#11 0.511 sfnt2woff: invalid option -- '-'
#11 0.513 Usage:
#11 0.513   sfnt2woff [-v <maj>.<min>] [-m <metadata.xml>] [-p <private.dat>] <otffile>
#11 0.513     package OpenType <otffile> as WOFF, creating &lt;otffile&gt;.woff
#11 0.513 Options:
#11 0.513     -v &lt;maj&gt;.&lt;min&gt;     set font version number (major and minor, both integers)
#11 0.513     -m <metadata.xml>  include metadata from <metadata.xml> (not validated)
#11 0.513     -p <private.dat>   include private data block
#11 DONE 0.5s

#12 [8/9] RUN npm install -g cssshrink@0.0.5
#12 3.616
#12 3.616 added 11 packages in 3s
#12 DONE 3.7s

#13 [9/9] RUN /bin/bash -l -c "gem update --system && gem install jgd -v 1.13.0"
#13 0.813 Using /usr/local/rvm/gems/ruby-3.2.2
#13 1.526 Using /usr/local/rvm/gems/ruby-3.2.2
#13 5.782 Updating rubygems-update
#13 5.782 Successfully installed rubygems-update-3.6.8
#13 5.782 Installing RubyGems 3.6.8
#13 6.549   Successfully built RubyGem
#13 6.549   Name: bundler
#13 6.549   Version: 2.6.8
#13 6.549   File: bundler-2.6.8.gem
#13 6.549 Bundler 2.6.8 installed
#13 6.549 RubyGems 3.6.8 installed
#13 6.549 Regenerating binstubs
#13 6.549 Regenerating plugins
#13 6.549
#13 6.549 # 3.6.8 / 2025-04-13
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.6.8 as a default gem.
#13 6.549
#13 6.549 # 3.6.7 / 2025-04-03
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Sorting files in metadata for build reproducibility. Pull request
#13 6.549   [#8569](https://github.com/rubygems/rubygems/pull/8569) by
#13 6.549   giacomobenedetti
#13 6.549 * Default to a SOURCE_DATE_EPOCH of 315619200, to simplify reproducible
#13 6.549   builds. Pull request
#13 6.549   [#8568](https://github.com/rubygems/rubygems/pull/8568) by duckinator
#13 6.549 * Let `gem exec` raise an error in ambiguous cases. Pull request
#13 6.549   [#8573](https://github.com/rubygems/rubygems/pull/8573) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.6.7 as a default gem.
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Speed up Version#<=> ~20-50% when lengths differ. Pull request
#13 6.549   [#8565](https://github.com/rubygems/rubygems/pull/8565) by skipkayhil
#13 6.549
#13 6.549 # 3.6.6 / 2025-03-13
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Update vendored uri to 1.0.3. Pull request
#13 6.549   [#8534](https://github.com/rubygems/rubygems/pull/8534) by hsbt
#13 6.549 * Installs bundler 2.6.6 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem rdoc` not working with newer versions of rdoc when not
#13 6.549   installed as default gems. Pull request
#13 6.549   [#8549](https://github.com/rubygems/rubygems/pull/8549) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.6.5 / 2025-02-20
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.6.5 as a default gem.
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Removed `gem server` from `gem help`. Pull request
#13 6.549   [#8507](https://github.com/rubygems/rubygems/pull/8507) by hsbt
#13 6.549
#13 6.549 # 3.6.4 / 2025-02-17
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Raise a simpler error when RubyGems fails to activate a dependency. Pull
#13 6.549   request [#8449](https://github.com/rubygems/rubygems/pull/8449) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.6.4 as a default gem.
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Allocate strings from Requirement match only once. Pull request
#13 6.549   [#8245](https://github.com/rubygems/rubygems/pull/8245) by segiddins
#13 6.549
#13 6.549 # 3.6.3 / 2025-01-16
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Add credentials file path to `gem env`. Pull request
#13 6.549   [#8375](https://github.com/rubygems/rubygems/pull/8375) by duckinator
#13 6.549 * Update SPDX license list as of 2024-12-30. Pull request
#13 6.549   [#8387](https://github.com/rubygems/rubygems/pull/8387) by
#13 6.549   github-actions[bot]
#13 6.549 * Installs bundler 2.6.3 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `@licenses` array unmarshalling. Pull request
#13 6.549   [#8411](https://github.com/rubygems/rubygems/pull/8411) by rykov
#13 6.549
#13 6.549 # 3.6.2 / 2024-12-23
#13 6.549
#13 6.549 ## Security:
#13 6.549
#13 6.549 * Fix Gem::SafeMarshal buffer overrun when given lengths larger than fit
#13 6.549   into a byte. Pull request
#13 6.549   [#8305](https://github.com/rubygems/rubygems/pull/8305) by segiddins
#13 6.549 * Improve type checking in marshal_load methods. Pull request
#13 6.549   [#8306](https://github.com/rubygems/rubygems/pull/8306) by segiddins
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Skip rdoc hooks and their tests on newer rdoc versions. Pull request
#13 6.549   [#8340](https://github.com/rubygems/rubygems/pull/8340) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.6.2 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix serialized metadata including an empty `@original_platform`
#13 6.549   attribute. Pull request
#13 6.549   [#8355](https://github.com/rubygems/rubygems/pull/8355) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.6.1 / 2024-12-17
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.6.1 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem info` tagging some non default gems as default. Pull request
#13 6.549   [#8321](https://github.com/rubygems/rubygems/pull/8321) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Fix broken links. Pull request
#13 6.549   [#8327](https://github.com/rubygems/rubygems/pull/8327) by st0012
#13 6.549
#13 6.549 # 3.6.0 / 2024-12-16
#13 6.549
#13 6.549 ## Security:
#13 6.549
#13 6.549 * Stop storing executable names in ivars. Pull request
#13 6.549   [#8307](https://github.com/rubygems/rubygems/pull/8307) by segiddins
#13 6.549
#13 6.549 ## Breaking changes:
#13 6.549
#13 6.549 * Drop ruby 3.0 support. Pull request
#13 6.549   [#8091](https://github.com/rubygems/rubygems/pull/8091) by segiddins
#13 6.549
#13 6.549 ## Features:
#13 6.549
#13 6.549 * Add --attestation option to gem push. Pull request
#13 6.549   [#8239](https://github.com/rubygems/rubygems/pull/8239) by segiddins
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Skip unresolved deps warning on `Gem::Specification.reset` on benign
#13 6.549   cases. Pull request
#13 6.549   [#8309](https://github.com/rubygems/rubygems/pull/8309) by
#13 6.549   deivid-rodriguez
#13 6.549 * Let `gem install <name>` suggest `<name>-ruby` and `ruby-<name>` when
#13 6.549   providing "did you mean" suggestions. Pull request
#13 6.549   [#8197](https://github.com/rubygems/rubygems/pull/8197) by duckinator
#13 6.549 * Update SPDX license list as of 2024-08-19. Pull request
#13 6.549   [#8233](https://github.com/rubygems/rubygems/pull/8233) by
#13 6.549   github-actions[bot]
#13 6.549 * Add `--target-rbconfig` option to `gem install` and `gem update`
#13 6.549   commands. Pull request
#13 6.549   [#7628](https://github.com/rubygems/rubygems/pull/7628) by kateinoigakukun
#13 6.549 * Skip nil-value keys to make metadata reproducible. Pull request
#13 6.549   [#7129](https://github.com/rubygems/rubygems/pull/7129) by nobu
#13 6.549 * Allow disabling installation of compiled extensions into lib through
#13 6.549   `Gem.configuration.install_extension_in_lib`. Pull request
#13 6.549   [#6463](https://github.com/rubygems/rubygems/pull/6463) by hsbt
#13 6.549 * Installs bundler 2.6.0 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Set $0 to exe when running `gem exec` to fix name in CLI output. Pull
#13 6.549   request [#8267](https://github.com/rubygems/rubygems/pull/8267) by adam12
#13 6.549 * Fix manifest in gem package using incorrect platform sometimes. Pull
#13 6.549   request [#8202](https://github.com/rubygems/rubygems/pull/8202) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Fix missing single quote in git source example. Pull request
#13 6.549   [#8303](https://github.com/rubygems/rubygems/pull/8303) by nobu
#13 6.549 * Update the `gem install` demo in REAME to use a gem that just works on
#13 6.549   Windows. Pull request
#13 6.549   [#8262](https://github.com/rubygems/rubygems/pull/8262) by soda92
#13 6.549 * Unify rubygems and bundler docs directory. Pull request
#13 6.549   [#8159](https://github.com/rubygems/rubygems/pull/8159) by hsbt
#13 6.549
#13 6.549 # 3.5.23 / 2024-11-05
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Validate user input encoding of `gem` CLI arguments. Pull request
#13 6.549   [#6471](https://github.com/rubygems/rubygems/pull/6471) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem update --system` leaving old default bundler executables
#13 6.549   around. Pull request
#13 6.549   [#8172](https://github.com/rubygems/rubygems/pull/8172) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.23 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix commands with 2 MFA requests when webauthn is enabled. Pull request
#13 6.549   [#8174](https://github.com/rubygems/rubygems/pull/8174) by
#13 6.549   deivid-rodriguez
#13 6.549 * Make `--enable-load-relative` binstubs prolog work when Ruby is not
#13 6.549   installed in the same directory as the binstub. Pull request
#13 6.549   [#7872](https://github.com/rubygems/rubygems/pull/7872) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Speed up `gem install <nonexistent-gem>` by finding alternative name
#13 6.549   suggestions faster. Pull request
#13 6.549   [#8084](https://github.com/rubygems/rubygems/pull/8084) by duckinator
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Add missing comma in documentation. Pull request
#13 6.549   [#8152](https://github.com/rubygems/rubygems/pull/8152) by leoarnold
#13 6.549
#13 6.549 # 3.5.22 / 2024-10-16
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Prevent `._*` files in packages generated from macOS. Pull request
#13 6.549   [#8150](https://github.com/rubygems/rubygems/pull/8150) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem pristine etc` resetting gem twice sometimes. Pull request
#13 6.549   [#8117](https://github.com/rubygems/rubygems/pull/8117) by
#13 6.549   deivid-rodriguez
#13 6.549 * Allow `gem pristine` to reset default gems too. Pull request
#13 6.549   [#8118](https://github.com/rubygems/rubygems/pull/8118) by
#13 6.549   deivid-rodriguez
#13 6.549 * Update vendored `uri` and `net-http`. Pull request
#13 6.549   [#8112](https://github.com/rubygems/rubygems/pull/8112) by segiddins
#13 6.549 * Installs bundler 2.5.22 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem contents` for default gems. Pull request
#13 6.549   [#8132](https://github.com/rubygems/rubygems/pull/8132) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix duplicated specs when they have been previously activated. Pull
#13 6.549   request [#8131](https://github.com/rubygems/rubygems/pull/8131) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem install` on NFS shares. Pull request
#13 6.549   [#8123](https://github.com/rubygems/rubygems/pull/8123) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix a `gem install` crash during "done installing" hooks. Pull request
#13 6.549   [#8113](https://github.com/rubygems/rubygems/pull/8113) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix plugin command loading. Pull request
#13 6.549   [#8121](https://github.com/rubygems/rubygems/pull/8121) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.21 / 2024-10-03
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Fix `Gem::MissingSpecVersionError#to_s` not showing exception message.
#13 6.549   Pull request [#8074](https://github.com/rubygems/rubygems/pull/8074) by
#13 6.549   deivid-rodriguez
#13 6.549 * Remove code that makes suggest_gems_from_name give worse results. Pull
#13 6.549   request [#8083](https://github.com/rubygems/rubygems/pull/8083) by
#13 6.549   duckinator
#13 6.549 * Warning about PATH in `--user-install` mode is only necessary for gems
#13 6.549   with executables. Pull request
#13 6.549   [#8071](https://github.com/rubygems/rubygems/pull/8071) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.21 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix error in one source when fetching dependency APIs clearing results
#13 6.549   from all sources. Pull request
#13 6.549   [#8080](https://github.com/rubygems/rubygems/pull/8080) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem cleanup` warning when two versions of psych installed. Pull
#13 6.549   request [#8072](https://github.com/rubygems/rubygems/pull/8072) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.20 / 2024-09-24
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.20 as a default gem.
#13 6.549
#13 6.549 # 3.5.19 / 2024-09-18
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Standardize pretty-print output for `Gem::Source` and subclasses. Pull
#13 6.549   request [#7994](https://github.com/rubygems/rubygems/pull/7994) by
#13 6.549   djberube
#13 6.549 * Update vendored `molinillo` to master and vendored `resolv` to 0.4.0.
#13 6.549   Pull request [#7521](https://github.com/rubygems/rubygems/pull/7521) by
#13 6.549   hsbt
#13 6.549 * Installs bundler 2.5.19 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `bundle exec rake install` failing when local gem has extensions.
#13 6.549   Pull request [#7977](https://github.com/rubygems/rubygems/pull/7977) by
#13 6.549   deivid-rodriguez
#13 6.549 * Make `gem exec` use the standard GEM_HOME. Pull request
#13 6.549   [#7982](https://github.com/rubygems/rubygems/pull/7982) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem fetch` always exiting with zero status code. Pull request
#13 6.549   [#8007](https://github.com/rubygems/rubygems/pull/8007) by
#13 6.549   deivid-rodriguez
#13 6.549 * Remove temporary `.lock` files unintentionally left around by gem
#13 6.549   installer. Pull request
#13 6.549   [#7939](https://github.com/rubygems/rubygems/pull/7939) by nobu
#13 6.549 * Removed unused stringio. Pull request
#13 6.549   [#8001](https://github.com/rubygems/rubygems/pull/8001) by hsbt
#13 6.549 * Avoid another race condition of open mode. Pull request
#13 6.549   [#7931](https://github.com/rubygems/rubygems/pull/7931) by nobu
#13 6.549 * Fix `@license` typo preventing licenses from being correctly
#13 6.549   unmarshalled. Pull request
#13 6.549   [#7975](https://github.com/rubygems/rubygems/pull/7975) by djberube
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Fix `gem install does-not-exist` being super slow. Pull request
#13 6.549   [#8006](https://github.com/rubygems/rubygems/pull/8006) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.18 / 2024-08-26
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.18 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem uninstall <name>:<version>` failing on shadowed default gems.
#13 6.549   Pull request [#7949](https://github.com/rubygems/rubygems/pull/7949) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.17 / 2024-08-01
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Explicitly encode `Gem::Dependency` to yaml. Pull request
#13 6.549   [#7867](https://github.com/rubygems/rubygems/pull/7867) by segiddins
#13 6.549 * Installs bundler 2.5.17 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem list` regression when a regular gem shadows a default one. Pull
#13 6.549   request [#7892](https://github.com/rubygems/rubygems/pull/7892) by
#13 6.549   deivid-rodriguez
#13 6.549 * Always leave default gem executables around. Pull request
#13 6.549   [#7879](https://github.com/rubygems/rubygems/pull/7879) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix line comment issue for hash when loading gemrc. Pull request
#13 6.549   [#7857](https://github.com/rubygems/rubygems/pull/7857) by leetking
#13 6.549
#13 6.549 # 3.5.16 / 2024-07-18
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.16 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix gemspec `require_paths` validation. Pull request
#13 6.549   [#7866](https://github.com/rubygems/rubygems/pull/7866) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix loading of nested `gemrc` config keys when specified as symbols.
#13 6.549   Pull request [#7851](https://github.com/rubygems/rubygems/pull/7851) by
#13 6.549   moofkit
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Use `caller_locations` instead of splitting `caller`. Pull request
#13 6.549   [#7708](https://github.com/rubygems/rubygems/pull/7708) by nobu
#13 6.549
#13 6.549 # 3.5.15 / 2024-07-09
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.15 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Restrict generic `arm` to only match 32-bit arm. Pull request
#13 6.549   [#7830](https://github.com/rubygems/rubygems/pull/7830) by ntkme
#13 6.549 * Protect creating binstubs with a file lock. Pull request
#13 6.549   [#7806](https://github.com/rubygems/rubygems/pull/7806) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Make it clearer that `add_dependency` is the main way to add
#13 6.549   non-development dependencies. Pull request
#13 6.549   [#7800](https://github.com/rubygems/rubygems/pull/7800) by jeromedalbert
#13 6.549
#13 6.549 # 3.5.14 / 2024-06-21
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.14 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Make "bundler? update --bundler" behave identically. Pull request
#13 6.549   [#7778](https://github.com/rubygems/rubygems/pull/7778) by x-yuri
#13 6.549
#13 6.549 # 3.5.13 / 2024-06-14
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.13 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Never remove executables that may belong to a default gem. Pull request
#13 6.549   [#7747](https://github.com/rubygems/rubygems/pull/7747) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.12 / 2024-06-13
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.12 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `gem uninstall` unresolved specifications warning. Pull request
#13 6.549   [#7667](https://github.com/rubygems/rubygems/pull/7667) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem pristine` sometimes failing to pristine user installed gems.
#13 6.549   Pull request [#7664](https://github.com/rubygems/rubygems/pull/7664) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.11 / 2024-05-28
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Update SPDX license list as of 2024-05-22. Pull request
#13 6.549   [#7689](https://github.com/rubygems/rubygems/pull/7689) by
#13 6.549   github-actions[bot]
#13 6.549 * Fix the update_rubygems inconsistency (--disable-gems). Pull request
#13 6.549   [#7658](https://github.com/rubygems/rubygems/pull/7658) by x-yuri
#13 6.549 * Accept WASI as an OS name in Gem::Platform. Pull request
#13 6.549   [#7629](https://github.com/rubygems/rubygems/pull/7629) by kateinoigakukun
#13 6.549 * Warn if RubyGems version explicitly set in gemspec does not match
#13 6.549   running version. Pull request
#13 6.549   [#7460](https://github.com/rubygems/rubygems/pull/7460) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.11 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix binstubs sometimes not getting regenerated when `--destdir` is
#13 6.549   given. Pull request
#13 6.549   [#7660](https://github.com/rubygems/rubygems/pull/7660) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix `gem uninstall --user-install`  for symlinked HOME. Pull request
#13 6.549   [#7645](https://github.com/rubygems/rubygems/pull/7645) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix issue when plugin stubs would sometimes not be properly removed by
#13 6.549   `gem uninstall`. Pull request
#13 6.549   [#7631](https://github.com/rubygems/rubygems/pull/7631) by
#13 6.549   deivid-rodriguez
#13 6.549 * Fix plugins uninstallation for user installed gems. Pull request
#13 6.549   [#6456](https://github.com/rubygems/rubygems/pull/6456) by voxik
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Use a constant empty tar header to avoid extra allocations. Pull request
#13 6.549   [#7484](https://github.com/rubygems/rubygems/pull/7484) by segiddins
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Recommend `bin/rake` over `rake` in contributing docs. Pull request
#13 6.549   [#7648](https://github.com/rubygems/rubygems/pull/7648) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.10 / 2024-05-03
#13 6.549
#13 6.549 ## Security:
#13 6.549
#13 6.549 * Add a limit to the size of the metadata and checksums files in a gem
#13 6.549   package. Pull request
#13 6.549   [#7568](https://github.com/rubygems/rubygems/pull/7568) by segiddins
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Don't fully require `rubygems` from `rubygems/package` to prevent some
#13 6.549   circular require warnings when using Bundler. Pull request
#13 6.549   [#7612](https://github.com/rubygems/rubygems/pull/7612) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.10 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Rename credential email to identifier in WebAuthn poller. Pull request
#13 6.549   [#7623](https://github.com/rubygems/rubygems/pull/7623) by jenshenny
#13 6.549
#13 6.549 # 3.5.9 / 2024-04-12
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.9 as a default gem.
#13 6.549
#13 6.549 # 3.5.8 / 2024-04-11
#13 6.549
#13 6.549 ## Security:
#13 6.549
#13 6.549 * Respect global umask when writing regular files. Pull request
#13 6.549   [#7518](https://github.com/rubygems/rubygems/pull/7518) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Allow string keys with gemrc. Pull request
#13 6.549   [#7543](https://github.com/rubygems/rubygems/pull/7543) by hsbt
#13 6.549 * [Experimental] Add "gem rebuild" command. Pull request
#13 6.549   [#4913](https://github.com/rubygems/rubygems/pull/4913) by duckinator
#13 6.549 * Installs bundler 2.5.8 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix NoMethodError crash when building errors about corrupt package
#13 6.549   files. Pull request
#13 6.549   [#7539](https://github.com/rubygems/rubygems/pull/7539) by jez
#13 6.549 * Fix resolver to properly intersect Arrays of `Gem::Resolver::Activation`
#13 6.549   objects. Pull request
#13 6.549   [#7537](https://github.com/rubygems/rubygems/pull/7537) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.7 / 2024-03-22
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Warn on empty or open required_ruby_version specification attribute.
#13 6.549   Pull request [#5010](https://github.com/rubygems/rubygems/pull/5010) by
#13 6.549   simi
#13 6.549 * Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via
#13 6.549   attribute. Pull request
#13 6.549   [#7464](https://github.com/rubygems/rubygems/pull/7464) by segiddins
#13 6.549 * Update SPDX license list as of 2024-02-08. Pull request
#13 6.549   [#7468](https://github.com/rubygems/rubygems/pull/7468) by
#13 6.549   github-actions[bot]
#13 6.549 * Installs bundler 2.5.7 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Allow prerelease activation (even if requirement is not explicit about
#13 6.549   it) when it's the only possibility. Pull request
#13 6.549   [#7428](https://github.com/rubygems/rubygems/pull/7428) by kimesf
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Fix a typo. Pull request
#13 6.549   [#7505](https://github.com/rubygems/rubygems/pull/7505) by hsbt
#13 6.549 * Use https instead of http in documentation links. Pull request
#13 6.549   [#7481](https://github.com/rubygems/rubygems/pull/7481) by hsbt
#13 6.549
#13 6.549 # 3.5.6 / 2024-02-06
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Deep copy requirements in `Gem::Specification` and `Gem::Requirement`.
#13 6.549   Pull request [#7439](https://github.com/rubygems/rubygems/pull/7439) by
#13 6.549   flavorjones
#13 6.549 * Change gem login message to clear up that username can be also used.
#13 6.549   Pull request [#7422](https://github.com/rubygems/rubygems/pull/7422) by
#13 6.549   VitaliySerov
#13 6.549 * Add metadata for rubygems.org. Pull request
#13 6.549   [#7435](https://github.com/rubygems/rubygems/pull/7435) by m-nakamura145
#13 6.549 * Improve gem login scope selection. Pull request
#13 6.549   [#7342](https://github.com/rubygems/rubygems/pull/7342) by williantenfen
#13 6.549 * Vendor uri in RubyGems. Pull request
#13 6.549   [#7386](https://github.com/rubygems/rubygems/pull/7386) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.6 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Skip to load commented out words. Pull request
#13 6.549   [#7413](https://github.com/rubygems/rubygems/pull/7413) by hsbt
#13 6.549 * Fix rake runtime dependency warning for rake based extension. Pull
#13 6.549   request [#7395](https://github.com/rubygems/rubygems/pull/7395) by ntkme
#13 6.549
#13 6.549 # 3.5.5 / 2024-01-18
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.5 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix `require` activation conflicts when requiring default gems under
#13 6.549   some situations. Pull request
#13 6.549   [#7379](https://github.com/rubygems/rubygems/pull/7379) by
#13 6.549   deivid-rodriguez
#13 6.549 * Use cache_home instead of data_home in default_spec_cache_dir. Pull
#13 6.549   request [#7331](https://github.com/rubygems/rubygems/pull/7331) by mrkn
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Use squiggly heredocs in `Gem::Specification#description` documentation,
#13 6.549   so it doesn't add leading whitespace. Pull request
#13 6.549   [#7373](https://github.com/rubygems/rubygems/pull/7373) by bravehager
#13 6.549
#13 6.549 # 3.5.4 / 2024-01-04
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Always avoid "Updating rubygems-update" message. Pull request
#13 6.549   [#7335](https://github.com/rubygems/rubygems/pull/7335) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.5.4 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Make `gem update --system` respect ruby version constraints. Pull
#13 6.549   request [#7334](https://github.com/rubygems/rubygems/pull/7334) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.5.3 / 2023-12-22
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.3 as a default gem.
#13 6.549
#13 6.549 # 3.5.2 / 2023-12-21
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Support dynamic library loading with extension .so or .o. Pull request
#13 6.549   [#7241](https://github.com/rubygems/rubygems/pull/7241) by hogelog
#13 6.549 * Installs bundler 2.5.2 as a default gem.
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Replace `object_id` comparison with identity Hash. Pull request
#13 6.549   [#7303](https://github.com/rubygems/rubygems/pull/7303) by amomchilov
#13 6.549 * Use IO.copy_stream when reading, writing. Pull request
#13 6.549   [#6958](https://github.com/rubygems/rubygems/pull/6958) by martinemde
#13 6.549
#13 6.549 # 3.5.1 / 2023-12-15
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.5.1 as a default gem.
#13 6.549
#13 6.549 # 3.5.0 / 2023-12-15
#13 6.549
#13 6.549 ## Security:
#13 6.549
#13 6.549 * Replace `Marshal.load` with a fully-checked safe gemspec loader. Pull
#13 6.549   request [#6896](https://github.com/rubygems/rubygems/pull/6896) by
#13 6.549   segiddins
#13 6.549
#13 6.549 ## Breaking changes:
#13 6.549
#13 6.549 * Drop ruby 2.6 and 2.7 support. Pull request
#13 6.549   [#7116](https://github.com/rubygems/rubygems/pull/7116) by
#13 6.549   deivid-rodriguez
#13 6.549 * Release package no longer includes test files. Pull request
#13 6.549   [#6781](https://github.com/rubygems/rubygems/pull/6781) by hsbt
#13 6.549 * Hide `Gem::MockGemUi` from users. Pull request
#13 6.549   [#6623](https://github.com/rubygems/rubygems/pull/6623) by hsbt
#13 6.549 * Deprecated `Gem.datadir` has been removed. Pull request
#13 6.549   [#6469](https://github.com/rubygems/rubygems/pull/6469) by hsbt
#13 6.549
#13 6.549 ## Deprecations:
#13 6.549
#13 6.549 * Deprecate `Gem::Platform.match?`. Pull request
#13 6.549   [#6783](https://github.com/rubygems/rubygems/pull/6783) by hsbt
#13 6.549 * Deprecate `Gem::List`. Pull request
#13 6.549   [#6311](https://github.com/rubygems/rubygems/pull/6311) by segiddins
#13 6.549
#13 6.549 ## Features:
#13 6.549
#13 6.549 * The `generate_index` command can now generate compact index files and
#13 6.549   lives as an external `rubygems-generate_index` gem. Pull request
#13 6.549   [#7085](https://github.com/rubygems/rubygems/pull/7085) by segiddins
#13 6.549 * Make `gem install` fallback to user installation directory if default
#13 6.549   gem home is not writable. Pull request
#13 6.549   [#5327](https://github.com/rubygems/rubygems/pull/5327) by duckinator
#13 6.549 * Leverage ruby feature to warn when requiring default gems from stdlib
#13 6.549   that will be turned into bundled gems in the future. Pull request
#13 6.549   [#6840](https://github.com/rubygems/rubygems/pull/6840) by hsbt
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Use match? when regexp match data is unused. Pull request
#13 6.549   [#7263](https://github.com/rubygems/rubygems/pull/7263) by segiddins
#13 6.549 * Fewer allocations in gem installation. Pull request
#13 6.549   [#6975](https://github.com/rubygems/rubygems/pull/6975) by segiddins
#13 6.549 * Optimize allocations in `Gem::Version`. Pull request
#13 6.549   [#6970](https://github.com/rubygems/rubygems/pull/6970) by segiddins
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Warn for duplicate meta data links when building gems. Pull request
#13 6.549   [#7213](https://github.com/rubygems/rubygems/pull/7213) by etherbob
#13 6.549 * Vendor `net-http`, `net-protocol`, `resolv`, and `timeout` to reduce
#13 6.549   conflicts between Gemfile gems and internal dependencies. Pull request
#13 6.549   [#6793](https://github.com/rubygems/rubygems/pull/6793) by
#13 6.549   deivid-rodriguez
#13 6.549 * Remove non-transparent requirement added to prerelease gems. Pull
#13 6.549   request [#7226](https://github.com/rubygems/rubygems/pull/7226) by
#13 6.549   deivid-rodriguez
#13 6.549 * Stream output from ext builds when --verbose. Pull request
#13 6.549   [#7240](https://github.com/rubygems/rubygems/pull/7240) by osyoyu
#13 6.549 * Add missing services to CI detection and make it consistent between
#13 6.549   RubyGems and Bundler. Pull request
#13 6.549   [#7205](https://github.com/rubygems/rubygems/pull/7205) by nevinera
#13 6.549 * Update generate licenses template to not freeze regexps. Pull request
#13 6.549   [#7154](https://github.com/rubygems/rubygems/pull/7154) by
#13 6.549   github-actions[bot]
#13 6.549 * Don't check `LIBRUBY_RELATIVE` in truffleruby to signal a bash prelude
#13 6.549   in rubygems binstubs. Pull request
#13 6.549   [#7156](https://github.com/rubygems/rubygems/pull/7156) by
#13 6.549   deivid-rodriguez
#13 6.549 * Update SPDX list and warn on deprecated identifiers. Pull request
#13 6.549   [#6926](https://github.com/rubygems/rubygems/pull/6926) by simi
#13 6.549 * Simplify extended `require` to potentially fix some deadlocks. Pull
#13 6.549   request [#6827](https://github.com/rubygems/rubygems/pull/6827) by nobu
#13 6.549 * Small refactors for `Gem::Resolver`. Pull request
#13 6.549   [#6766](https://github.com/rubygems/rubygems/pull/6766) by hsbt
#13 6.549 * Use double-quotes instead of single-quotes consistently in warnings.
#13 6.549   Pull request [#6550](https://github.com/rubygems/rubygems/pull/6550) by
#13 6.549   hsbt
#13 6.549 * Add debug message for `nil` version gemspec. Pull request
#13 6.549   [#6436](https://github.com/rubygems/rubygems/pull/6436) by hsbt
#13 6.549 * Installs bundler 2.5.0 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fix installing from source with same default bundler version already
#13 6.549   installed. Pull request
#13 6.549   [#7244](https://github.com/rubygems/rubygems/pull/7244) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Improve comment explaining the necessity of `write_default_spec` method.
#13 6.549   Pull request [#6563](https://github.com/rubygems/rubygems/pull/6563) by
#13 6.549   voxik
#13 6.549
#13 6.549 # 3.4.22 / 2023-11-09
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Update SPDX license list as of 2023-10-05. Pull request
#13 6.549   [#7040](https://github.com/rubygems/rubygems/pull/7040) by
#13 6.549   github-actions[bot]
#13 6.549 * Remove unnecessary rescue. Pull request
#13 6.549   [#7109](https://github.com/rubygems/rubygems/pull/7109) by
#13 6.549   deivid-rodriguez
#13 6.549 * Installs bundler 2.4.22 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Handle empty array at built-in YAML serializer. Pull request
#13 6.549   [#7099](https://github.com/rubygems/rubygems/pull/7099) by hsbt
#13 6.549 * Ignore non-tar format `.gem` files during search. Pull request
#13 6.549   [#7095](https://github.com/rubygems/rubygems/pull/7095) by dearblue
#13 6.549 * Allow explicitly uninstalling multiple versions of same gem. Pull
#13 6.549   request [#7063](https://github.com/rubygems/rubygems/pull/7063) by
#13 6.549   kstevens715
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Avoid regexp match on every call to `Gem::Platform.local`. Pull request
#13 6.549   [#7104](https://github.com/rubygems/rubygems/pull/7104) by segiddins
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Get `Gem::Specification#extensions_dir` documented. Pull request
#13 6.549   [#6218](https://github.com/rubygems/rubygems/pull/6218) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.4.21 / 2023-10-17
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Abort `setup.rb` if Ruby is too old. Pull request
#13 6.549   [#7011](https://github.com/rubygems/rubygems/pull/7011) by
#13 6.549   deivid-rodriguez
#13 6.549 * Remove usage of Dir.chdir that only execute a subprocess. Pull request
#13 6.549   [#6930](https://github.com/rubygems/rubygems/pull/6930) by segiddins
#13 6.549 * Freeze more strings in generated gemspecs. Pull request
#13 6.549   [#6974](https://github.com/rubygems/rubygems/pull/6974) by segiddins
#13 6.549 * Use pure-ruby YAML parser for loading configuration at RubyGems. Pull
#13 6.549   request [#6615](https://github.com/rubygems/rubygems/pull/6615) by hsbt
#13 6.549 * Installs bundler 2.4.21 as a default gem.
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Update suggested variable for bindir. Pull request
#13 6.549   [#7028](https://github.com/rubygems/rubygems/pull/7028) by hsbt
#13 6.549 * Fix invalid links in documentation. Pull request
#13 6.549   [#7008](https://github.com/rubygems/rubygems/pull/7008) by simi
#13 6.549
#13 6.549 # 3.4.20 / 2023-09-27
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Raise `Gem::Package::FormatError` when gem encounters corrupt EOF.
#13 6.549   Pull request [#6882](https://github.com/rubygems/rubygems/pull/6882)
#13 6.549   by martinemde
#13 6.549 * Allow skipping empty license `gem build` warning by setting license to
#13 6.549   `nil`. Pull request
#13 6.549   [#6879](https://github.com/rubygems/rubygems/pull/6879) by jhong97
#13 6.549 * Update SPDX license list as of 2023-06-18. Pull request
#13 6.549   [#6891](https://github.com/rubygems/rubygems/pull/6891) by
#13 6.549   github-actions[bot]
#13 6.549 * Update SPDX license list as of 2023-04-28. Pull request
#13 6.549   [#6642](https://github.com/rubygems/rubygems/pull/6642) by segiddins
#13 6.549 * Update SPDX license list as of 2023-01-26. Pull request
#13 6.549   [#6310](https://github.com/rubygems/rubygems/pull/6310) by segiddins
#13 6.549 * Installs bundler 2.4.20 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Fixed false positive SymlinkError in symbolic link directory. Pull
#13 6.549   request [#6947](https://github.com/rubygems/rubygems/pull/6947) by
#13 6.549   negi0109
#13 6.549 * Ensure that loading multiple gemspecs with legacy YAML class references
#13 6.549   does not warn. Pull request
#13 6.549   [#6889](https://github.com/rubygems/rubygems/pull/6889) by segiddins
#13 6.549 * Fix NoMethodError when choosing a too big number from `gem uni` list.
#13 6.549   Pull request [#6901](https://github.com/rubygems/rubygems/pull/6901) by
#13 6.549   amatsuda
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Reduce allocations for stub specifications. Pull request
#13 6.549   [#6972](https://github.com/rubygems/rubygems/pull/6972) by segiddins
#13 6.549
#13 6.549 # 3.4.19 / 2023-08-17
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.19 as a default gem.
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Speedup building docs when updating rubygems. Pull request
#13 6.549   [#6864](https://github.com/rubygems/rubygems/pull/6864) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.4.18 / 2023-08-02
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Add poller to fetch WebAuthn OTP. Pull request
#13 6.549   [#6774](https://github.com/rubygems/rubygems/pull/6774) by jenshenny
#13 6.549 * Remove side effects when unmarshaling old `Gem::Specification`. Pull
#13 6.549   request [#6825](https://github.com/rubygems/rubygems/pull/6825) by nobu
#13 6.549 * Ship rubygems executables in `exe` folder. Pull request
#13 6.549   [#6704](https://github.com/rubygems/rubygems/pull/6704) by hsbt
#13 6.549 * Installs bundler 2.4.18 as a default gem.
#13 6.549
#13 6.549 # 3.4.17 / 2023-07-14
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.17 as a default gem.
#13 6.549
#13 6.549 ## Performance:
#13 6.549
#13 6.549 * Avoid unnecessary work for private local gem installation. Pull request
#13 6.549   [#6810](https://github.com/rubygems/rubygems/pull/6810) by
#13 6.549   deivid-rodriguez
#13 6.549
#13 6.549 # 3.4.16 / 2023-07-10
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.16 as a default gem.
#13 6.549
#13 6.549 # 3.4.15 / 2023-06-29
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.15 as a default gem.
#13 6.549
#13 6.549 ## Bug fixes:
#13 6.549
#13 6.549 * Autoload shellwords when it's needed. Pull request
#13 6.549   [#6734](https://github.com/rubygems/rubygems/pull/6734) by ioquatix
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Update command to test local gem command changes. Pull request
#13 6.549   [#6761](https://github.com/rubygems/rubygems/pull/6761) by jenshenny
#13 6.549
#13 6.549 # 3.4.14 / 2023-06-12
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Load plugin immediately. Pull request
#13 6.549   [#6673](https://github.com/rubygems/rubygems/pull/6673) by kou
#13 6.549 * Installs bundler 2.4.14 as a default gem.
#13 6.549
#13 6.549 ## Documentation:
#13 6.549
#13 6.549 * Clarify what the `rubygems-update` gem is for, and link to source code
#13 6.549   and guides. Pull request
#13 6.549   [#6710](https://github.com/rubygems/rubygems/pull/6710) by davetron5000
#13 6.549
#13 6.549 # 3.4.13 / 2023-05-09
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.13 as a default gem.
#13 6.549
#13 6.549 # 3.4.12 / 2023-04-11
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * [Experimental] Add WebAuthn Support to the CLI. Pull request
#13 6.549   [#6560](https://github.com/rubygems/rubygems/pull/6560) by jenshenny
#13 6.549 * Installs bundler 2.4.12 as a default gem.
#13 6.549
#13 6.549 # 3.4.11 / 2023-04-10
#13 6.549
#13 6.549 ## Enhancements:
#13 6.549
#13 6.549 * Installs bundler 2.4.11 as a default gem.
#13 6.549
#13 6.555
#13 6.555 ------------------------------------------------------------------------------
#13 6.555
#13 6.555 RubyGems installed the following executables:
#13 6.555       /usr/local/rvm/rubies/ruby-3.2.2/bin/gem
#13 6.555       /usr/local/rvm/rubies/ruby-3.2.2/bin/bundle
#13 6.555       /usr/local/rvm/rubies/ruby-3.2.2/bin/bundler
#13 6.555
#13 6.583 RubyGems system software updated
#13 8.682 !    The 'trollop' gem has been deprecated and has been replaced by 'optimist'.
#13 8.682 !    See: https://rubygems.org/gems/optimist
#13 8.682 !    And: https://github.com/ManageIQ/optimist
#13 8.682 Successfully installed trollop-2.9.9
#13 8.682 Successfully installed webrick-1.9.1
#13 8.682 Successfully installed unicode-display_width-2.6.0
#13 8.682 Successfully installed terminal-table-3.0.2
#13 8.682 Successfully installed safe_yaml-1.0.5
#13 8.682 Successfully installed rouge-4.5.1
#13 8.682 Successfully installed forwardable-extended-2.6.0
#13 8.682 Successfully installed pathutil-0.16.2
#13 8.682 Successfully installed mercenary-0.4.0
#13 8.682 Successfully installed liquid-4.0.4
#13 8.682 Successfully installed rexml-3.4.1
#13 8.682 Successfully installed kramdown-2.5.1
#13 8.682 Successfully installed kramdown-parser-gfm-1.1.0
#13 8.682 Successfully installed ffi-1.17.2-x86_64-linux-gnu
#13 8.682 Successfully installed rb-inotify-0.11.1
#13 8.682 Successfully installed rb-fsevent-0.11.2
#13 8.682 Successfully installed listen-3.9.0
#13 8.682 Successfully installed jekyll-watch-2.2.1
#13 8.682 Successfully installed google-protobuf-4.30.2-x86_64-linux
#13 8.682 Successfully installed sass-embedded-1.86.3-x86_64-linux-gnu
#13 8.682 Successfully installed jekyll-sass-converter-3.1.0
#13 8.682 Successfully installed concurrent-ruby-1.3.5
#13 8.682 Successfully installed i18n-1.14.7
#13 8.682 Building native extensions. This could take a while...
#13 10.21 Successfully installed http_parser.rb-0.8.0
#13 10.21 Building native extensions. This could take a while...
#13 25.71 Successfully installed eventmachine-1.2.7
#13 25.71 Successfully installed em-websocket-0.5.3
#13 25.71 Successfully installed colorator-1.1.0
#13 25.71 Successfully installed base64-0.2.0
#13 25.71 Successfully installed public_suffix-6.0.1
#13 25.71 Successfully installed addressable-2.8.7
#13 25.71 Successfully installed jekyll-4.4.1
#13 25.71 Successfully installed jgd-1.13.0
#13 25.71 32 gems installed
#13 DONE 25.9s

#14 exporting to image
#14 exporting layers
#14 exporting layers 5.2s done
#14 writing image sha256:9d0bdebe83b7cc72e6e5cda34631e72778f050b21688f1452df40dc22ba8933a
#14 writing image sha256:9d0bdebe83b7cc72e6e5cda34631e72778f050b21688f1452df40dc22ba8933a done
#14 naming to docker.io/yegor256/rultor-cjviee2l done
#14 DONE 5.2s
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_blog_777\s*$'
+ ls -al .
total 204
drwx------  3 ubuntu ubuntu   4096 Apr 20 15:37 .
drwxrwxrwt 12 root   root     4096 Apr 20 15:40 ..
-rw-rw-r--  1 ubuntu ubuntu     52 Apr 20 15:35 chatgpt-key.txt
-rwxrwxr-x  1 ubuntu ubuntu   2089 Apr 20 15:43 end.sh
-rwxrwxr-x  1 ubuntu ubuntu    490 Apr 20 15:37 entry.sh
-rw-rw-r--  1 ubuntu ubuntu   1679 Apr 20 15:35 id_rsa
-rw-rw-r--  1 ubuntu ubuntu    396 Apr 20 15:35 id_rsa.pub
-rw-rw-r--  1 ubuntu ubuntu      5 Apr 20 15:35 pid
drwxrwxr-x 29 ubuntu ubuntu   4096 Apr 20 15:37 repo
-rwxrwxr-x  1 ubuntu ubuntu   9516 Apr 20 15:35 run.sh
-rw-rw-r--  1 ubuntu ubuntu   1206 Apr 20 15:37 script.sh
-rw-rw-r--  1 ubuntu ubuntu     57 Apr 20 15:35 secrets.yml
-rw-rw-r--  1 ubuntu ubuntu 144974 Apr 20 15:43 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-3vCX:/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'\''\'\'''\'''\'' '\'';'\'' '\''bundle lock --no-color'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''export JEKYLL_ENV=production'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 bundle exec 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"'\'' '\'';'\'' '\''echo -e "chatgpt-translate:\n  api_key_file: $(pwd)/../chatgpt-key.txt" > _config-deploy.yml'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 jgd'\'' '\'';'\'' '\''rvm default 2.7.6 && source /usr/local/rvm/scripts/rvm'\'' '\'';'\'' '\''ruby -v'\'' '\'';'\'' '\''gem install ffi -v 1.16.3'\'' '\'';'\'' '\''gem install fontcustom -v 2.0.0'\'' '\'';'\'' '\''fontcustom --version'\'' '\'';'\'' '\''"$(pwd)/_glyphs/compile.sh" /tmp/icons'\'' '\'';'\'' '\''git checkout gh-pages'\'' '\'';'\'' '\''git pull'\'' '\'';'\'' '\''for e in svg ttf woff eot css; do cp "/tmp/icons/icons.${e}" css; git add "css/icons.${e}"; done'\'' '\'';'\'' '\''git commit -am '\''\'\'''\''new glyphs'\''\'\'''\'' || echo no changes in glyphs'\'' '\'';'\'' '\''git push origin gh-pages'\'' '\'';'\'' )' --env=head_branch=master --env=author=yegor256 --hostname=docker --privileged --net=host --dns 8.8.8.8 --add-host docker:127.0.0.1 --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-3vCX/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_blog_777 yegor256/rultor-cjviee2l /main/entry.sh
WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
+ set -e
+ set -o pipefail
+ shopt -s dotglob
+ useradd -m -G sudo r
++ awk -F : '$3 > 100 { print $1 }'
++ cat /etc/group
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G nogroup r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G systemd-journal r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G systemd-network r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G systemd-resolve r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G messagebus r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G _ssh r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G rvm r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G ssl-cert r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G postgres r
+ for g in $(cat /etc/group | awk  -F  ':' '$3 > 100 { print $1 }')
+ usermod -a -G r r
+ usermod -s /bin/bash r
+ echo '%sudo ALL=(ALL) NOPASSWD:ALL'
+ cp -R /root/.bashrc /root/.cargo /root/.config /root/.gem /root/.gemrc /root/.launchpadlib /root/.m2 /root/.npm /root/.profile /root/.rustup /root/.rvmrc /root/texmf /home/r
+ cp -R ./chatgpt-key.txt ./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
+ cat /home/r/script.sh
#!/bin/bash
set -e
set -o pipefail
if [ -e /home/r/.profile ]; then source /home/r/.profile; fi
shopt -s expand_aliases
alias 'sudo=sudo -i'
export HOME=/home/r
cd "${HOME}/repo"
export 'head=git@github.com:yegor256/blog.git' ; export 'head_branch=master' ; export 'author=yegor256' ; bundle lock --no-color ; bundle install --no-color ; export JEKYLL_ENV=production ; LC_ALL=en_US.UTF-8 bundle exec 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" ; echo -e "chatgpt-translate:\n  api_key_file: $(pwd)/../chatgpt-key.txt" > _config-deploy.yml ; LC_ALL=en_US.UTF-8 jgd ; rvm default 2.7.6 && source /usr/local/rvm/scripts/rvm ; ruby -v ; gem install ffi -v 1.16.3 ; gem install fontcustom -v 2.0.0 ; fontcustom --version ; &quot;$(pwd)/_glyphs/compile.sh&quot; /tmp/icons ; git checkout gh-pages ; git pull ; for e in svg ttf woff eot css; do cp &quot;/tmp/icons/icons.${e}" css; git add "css/icons.${e}"; done ; git commit -am 'new glyphs' || echo no changes in glyphs ; git push origin gh-pages ;
+ su --login r --command /home/r/script.sh
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Writing lockfile to /home/r/repo/Gemfile.lock
Bundler 2.6.8 is running, but your lockfile was generated with 2.5.16. Installing Bundler 2.5.16 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.5.16
Installing bundler 2.5.16
Fetching gem metadata from https://rubygems.org/.........
Fetching rake 13.2.1
Installing rake 13.2.1
Fetching Ascii85 2.0.1
Installing Ascii85 2.0.1
Fetching afm 0.2.2
Installing afm 0.2.2
Fetching ast 2.4.3
Installing ast 2.4.3
Fetching fiber-annotation 0.2.0
Installing fiber-annotation 0.2.0
Fetching fiber-storage 1.0.1
Installing fiber-storage 1.0.1
Fetching fiber-local 1.1.0
Installing fiber-local 1.1.0
Fetching json 2.10.2
Installing json 2.10.2 with native extensions
Fetching console 1.30.2
Installing console 1.30.2
Fetching io-event 1.10.0
Installing io-event 1.10.0 with native extensions
Fetching metrics 0.12.2
Installing metrics 0.12.2
Fetching traces 0.15.2
Installing traces 0.15.2
Fetching async 2.23.1
Installing async 2.23.1
Fetching bigdecimal 3.1.9
Installing bigdecimal 3.1.9 with native extensions
Fetching csv 3.3.4
Installing csv 3.3.4
Fetching date 3.4.1
Installing date 3.4.1 with native extensions
Fetching ethon 0.16.0
Installing ethon 0.16.0
Fetching event_stream_parser 1.0.0
Installing event_stream_parser 1.0.0
Fetching uri 1.0.3
Installing uri 1.0.3
Fetching net-http 0.6.0
Installing net-http 0.6.0
Fetching faraday-net_http 3.4.0
Installing faraday-net_http 3.4.0
Fetching logger 1.7.0
Installing logger 1.7.0
Fetching faraday 2.13.0
Installing faraday 2.13.0
Fetching multipart-post 2.4.1
Installing multipart-post 2.4.1
Fetching faraday-multipart 1.1.0
Installing faraday-multipart 1.1.0
Fetching fastimage 2.4.0
Installing fastimage 2.4.0
Fetching hashery 2.1.2
Installing hashery 2.1.2
Fetching racc 1.8.1
Installing racc 1.8.1 with native extensions
Fetching nokogiri 1.18.7 (x86_64-linux-gnu)
Installing nokogiri 1.18.7 (x86_64-linux-gnu)
Fetching ruby-rc4 0.1.5
Installing ruby-rc4 0.1.5
Fetching ttfunk 1.8.0
Installing ttfunk 1.8.0
Fetching pdf-reader 2.14.1
Installing pdf-reader 2.14.1
Fetching typhoeus 1.4.1
Installing typhoeus 1.4.1
Fetching yell 2.2.2
Installing yell 2.2.2
Fetching zeitwerk 2.7.2
Installing zeitwerk 2.7.2
Fetching html-proofer 5.0.10
Installing html-proofer 5.0.10
Fetching humanize 3.1.0
Installing humanize 3.1.0
Fetching iri 0.10.0
Installing iri 0.10.0
Fetching iso-639 0.3.8
Installing iso-639 0.3.8
Fetching jekyll-bits 0.15
Installing jekyll-bits 0.15
Fetching redcarpet 3.6.1
Installing redcarpet 3.6.1 with native extensions
Fetching ruby-openai 8.1.0
Installing ruby-openai 8.1.0
Fetching tiktoken_ruby 0.0.11.1 (x86_64-linux)
Installing tiktoken_ruby 0.0.11.1 (x86_64-linux)
Fetching jekyll-chatgpt-translate 0.1.0
Installing jekyll-chatgpt-translate 0.1.0
Fetching jekyll-feed 0.17.0
Installing jekyll-feed 0.17.0
Fetching sawyer 0.9.2
Installing sawyer 0.9.2
Fetching octokit 4.25.1
Installing octokit 4.25.1
Fetching jekyll-gist 1.5.0
Installing jekyll-gist 1.5.0
Fetching jekyll-git-hash 0.1.1
Installing jekyll-git-hash 0.1.1
Fetching jekyll-paginate 1.1.0
Installing jekyll-paginate 1.1.0
Fetching jekyll-plantuml 1.4.2
Installing jekyll-plantuml 1.4.2
Fetching jekyll-redirect-from 0.16.0
Installing jekyll-redirect-from 0.16.0
Fetching sass-listen 4.0.0
Installing sass-listen 4.0.0
Fetching sass 3.7.4
Installing sass 3.7.4
Fetching jekyll-sass 1.1.0
Installing jekyll-sass 1.1.0
Fetching jekyll-shorts 0.0.10
Installing jekyll-shorts 0.0.10
Fetching jekyll-sitemap 1.4.0
Installing jekyll-sitemap 1.4.0
Fetching trollop 2.9.10
Installing trollop 2.9.10
Fetching jgd 1.14.0
Installing jgd 1.14.0
Fetching language_server-protocol 3.17.0.4
Installing language_server-protocol 3.17.0.4
Fetching lint_roller 1.1.0
Installing lint_roller 1.1.0
Fetching mini_mime 1.1.5
Installing mini_mime 1.1.5
Fetching timeout 0.4.3
Installing timeout 0.4.3
Fetching net-protocol 0.2.2
Installing net-protocol 0.2.2
Fetching net-imap 0.5.6
Installing net-imap 0.5.6
Fetching net-smtp 0.5.1
Installing net-smtp 0.5.1
Fetching mail 2.8.1
Installing mail 2.8.1
Fetching nuggets 1.6.1
Installing nuggets 1.6.1
Fetching parallel 1.27.0
Installing parallel 1.27.0
Fetching parser 3.3.8.0
Installing parser 3.3.8.0
Fetching prism 1.4.0
Installing prism 1.4.0 with native extensions
Fetching pygments.rb 3.0.0
Installing pygments.rb 3.0.0
Fetching regexp_parser 2.10.0
Installing regexp_parser 2.10.0
Fetching rss 0.3.1
Installing rss 0.3.1
Fetching rubocop-ast 1.44.1
Installing rubocop-ast 1.44.1
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching rubocop 1.75.2
Installing rubocop 1.75.2
Fetching rubocop-minitest 0.38.0
Installing rubocop-minitest 0.38.0
Fetching rubocop-performance 1.25.0
Installing rubocop-performance 1.25.0
Fetching rubocop-rake 0.7.1
Installing rubocop-rake 0.7.1
Fetching rubocop-rspec 3.6.0
Installing rubocop-rspec 3.6.0
Fetching scss_lint 0.60.0
Installing scss_lint 0.60.0
Fetching uuidtools 3.0.0
Installing uuidtools 3.0.0
Fetching w3c_validators 1.3.7
Installing w3c_validators 1.3.7
Bundle complete! 36 Gemfile dependencies, 117 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from sass:

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

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

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

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

Post-install message from trollop:
!    The 'trollop' gem has been deprecated and has been replaced by 'optimist'.
!    See: https://rubygems.org/gems/optimist
!    And: https://github.com/ManageIQ/optimist
Post-install message from nuggets:

nuggets-1.6.1 [2022-05-18]:

* Ruby 3.1 compatibility.

1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details
/usr/local/rvm/gems/ruby-3.2.2/gems/io-event-1.10.0/lib/io/event/support.rb:48: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
Building Jekyll site...
Configuration file: /home/r/repo/_config.yml
/usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/ping.rb:13: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER
            Source: /home/r/repo
       Destination: /home/r/repo/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
WARN: No front image in /2010/03/04/pdd.html
WARN: No front image in /2013/12/29/proto.html
WARN: No front image in /2014/04/06/introduction.html
WARN: No front image in /2014/04/06/movies-for-thanasis.html
WARN: No front image in /2014/04/06/phandom.html
WARN: No front image in /2014/04/09/xembly-intro.html
WARN: No front image in /2014/04/11/jcabi-http-intro.html
WARN: No front image in /2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html
WARN: No front image in /2014/04/15/definition-of-done.html
WARN: No front image in /2014/04/15/github-guidelines.html
WARN: No front image in /2014/04/18/jcabi-http-server-mocking.html
WARN: No front image in /2014/04/20/how-hourly-rate-is-calculated.html
WARN: No front image in /2014/04/21/s3-http-basic-auth.html
WARN: No front image in /2014/04/24/java-xml-parsing-and-traversing.html
WARN: No front image in /2014/04/26/incremental-requirements-with-requs.html
WARN: No front image in /2014/04/27/typical-mistakes-in-java-code.html
WARN: No front image in /2014/04/28/xml-xpath-hamcrest-matchers.html
WARN: No front image in /2014/04/29/w3c-java-validators.html
WARN: No front image in /2014/05/01/dynamodb-local-maven-plugin.html
WARN: No front image in /2014/05/05/oop-alternative-to-utility-classes.html
WARN: No front image in /2014/05/13/why-null-is-bad.html
WARN: No front image in /2014/05/14/object-oriented-github-java-sdk.html
WARN: No front image in /2014/05/18/cloud-autoincrement-counters.html
WARN: No front image in /2014/05/21/mysql-maven-plugin.html
WARN: No front image in /2014/05/23/avoid-java-static-logger.html
WARN: No front image in /2014/05/26/amazon-s3-java-oop-adapter.html
WARN: No front image in /2014/06/01/aop-aspectj-java-method-logging.html
WARN: No front image in /2014/06/09/objects-should-be-immutable.html
WARN: No front image in /2014/06/19/avoid-string-concatenation.html
WARN: No front image in /2014/06/20/limit-method-execution-time.html
WARN: No front image in /2014/06/21/casperjs-with-maven.html
WARN: No front image in /2014/06/24/jekyll-github-deploy.html
WARN: No front image in /2014/06/25/xml-and-xslt-in-browser.html
WARN: No front image in /2014/06/26/sass-in-java-webapp.html
WARN: No front image in /2014/06/29/custom-lexer-in-jekyll.html
WARN: No front image in /2014/07/03/how-to-read-manifest-mf.html
WARN: No front image in /2014/07/20/liquibase-in-maven.html
WARN: No front image in /2014/07/21/read-only-master-branch.html
WARN: No front image in /2014/07/24/rultor-automated-merging.html
WARN: No front image in /2014/07/29/docker-in-rultor.html
WARN: No front image in /2014/07/31/travis-and-rultor.html
WARN: No front image in /2014/08/03/cacheable-java-annotation.html
WARN: No front image in /2014/08/15/retry-java-method-on-exception.html
WARN: No front image in /2014/08/18/fluent-jdbc-decorator.html
WARN: No front image in /2014/08/19/how-to-release-to-maven-central.html
WARN: No front image in /2014/08/22/art-of-software-testing.html
WARN: No front image in /2014/08/25/deploy-to-cloudbees.html
WARN: No front image in /2014/08/26/publish-to-rubygems.html
WARN: No front image in /2014/08/29/docker-non-root.html
WARN: No front image in /2014/09/02/java-ssh-client.html
WARN: No front image in /2014/09/10/anti-patterns-in-oop.html
WARN: No front image in /2014/09/13/deploying-to-heroku.html
WARN: No front image in /2014/09/22/remote-programming-interview.html
WARN: No front image in /2014/09/23/built-in-fake-objects.html
WARN: No front image in /2014/09/24/why-monetary-awards-dont-work.html
WARN: No front image in /2014/10/03/di-containers-are-evil.html
WARN: No front image in /2014/10/05/ten-hosted-continuous-integration-services.html
WARN: No front image in /2014/10/06/software-project-lifecycle.html
WARN: No front image in /2014/10/08/continuous-integration-is-dead.html
WARN: No front image in /2014/10/21/incremental-billing.html
WARN: No front image in /2014/10/23/paired-brackets-notation.html
WARN: No front image in /2014/10/26/hacker-vs-programmer-mentality.html
WARN: No front image in /2014/11/03/empty-line-code-smell.html
WARN: No front image in /2014/11/07/how-immutability-helps.html
WARN: No front image in /2014/11/14/hits-of-code.html
WARN: No front image in /2014/11/20/seven-virtues-of-good-object.html
WARN: No front image in /2015/01/10/windows-appveyor-maven.html
WARN: No front image in /2015/01/21/if-then-throw-else.html
WARN: No front image in /2015/02/02/xsl-transformations-in-java.html
WARN: No front image in /2015/02/05/jcabi-parent-maven-pom.html
WARN: No front image in /2015/03/26/jaxb-vs-xembly.html
WARN: No front image in /2015/03/29/rultor-with-appveyor.html
WARN: No front image in /2015/04/13/tacit-css-framework-for-dummies.html
WARN: No front image in /2015/04/22/favorite-software-books.html
WARN: No front image in /2015/04/30/iterating-adapter.html
WARN: No front image in /2015/05/18/cookie-based-authentication.html
WARN: No front image in /2015/06/08/deadly-sins-software-project.html
WARN: No front image in /2015/06/11/wikipedia-bug-definition.html
WARN: No front image in /2015/06/25/xml-data-xsl-views-takes-framework.html
WARN: No front image in /2015/08/18/multiple-return-statements-in-oop.html
WARN: No front image in /2015/09/07/maven-repository-amazon-s3.html
WARN: No front image in /2015/11/03/chatbot-better-than-ui-for-microservice.html
WARN: No front image in /2016/03/15/wring-dispatcher-github-notifications.html
WARN: No front image in /2016/03/30/jare-instant-free-cdn.html
WARN: No front image in /2016/11/18/software-conferences-to-attend.html
WARN: No front image in /2017/06/13/dynamodb-rack-maven.html
WARN: No front image in /2017/06/22/object-oriented-input-output-in-cactoos.html
WARN: No front image in /2017/06/27/my-environment.html
WARN: No front image in /2017/07/25/my-favorite-websites.html
WARN: No front image in /2017/09/05/rehttp-http-repeater.html
WARN: No front image in /2018/08/27/penalty-for-refusal.html
WARN: No front image in /2018/09/07/what-is-speed.html
WARN: No front image in /2018/10/01/remote-work.html
WARN: No front image in /2018/10/30/mailanes.html
WARN: No front image in /2018/11/06/ruby-threads.html
WARN: No front image in /2018/11/23/freelance-vs-outsourcing.html
WARN: No front image in /2019/02/03/cloudrepo.html
WARN: No front image in /2019/02/05/zache.html
WARN: No front image in /2019/03/12/how-to-move-faster.html
WARN: No front image in /2019/03/26/sales-kit.html
WARN: No front image in /2019/03/28/cost-of-zerocrat.html
WARN: No front image in /2019/03/29/concerns.html
WARN: No front image in /2019/03/30/survival-guide.html
WARN: No front image in /2019/04/17/nutch-from-java.html
WARN: No front image in /2019/06/26/syncem.html
WARN: No front image in /2023/09/05/style-checker-for-bibtex-files.html
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that
YouTube video pvZDcytPU3w found: SQM 14/24: Tech Debt [software quality crash course] [eng sub]
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)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that

File /home/r/repo/uml/d892698103dc5669949527a8754c5f26.svg created (3409 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 (XDSD), at DevTernity'2016
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video tCr9dtGdi2c found: XDSD: How Extreme is Your Team
YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
YouTube video 4SRoLYxvIQ8 found: Practical Example of AOP with AspectJ (in Russian with English subtitles)

File /home/r/repo/uml/52d3d016f2264bbf660a23d5bbe84203.svg created (8678 bytes)
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video 2a2nWELIk-Y found: Yegor Bugayenko | Kyiv DevOps, September, 2015
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
YouTube video rEK3Rk2lX3M found: Cactoos 0.12 polishing and releasing (webinar #27)
YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
YouTube video _61CuGhyv-o found: Practical Example of a One-Click Release
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video F4N25kZ2zQU found: Object Oriented Lies (in Russian with English subtitles)
YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
YouTube video EDKbYVEInMU found: Built-in Fake Objects
YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
YouTube video MNxG1xcA2uA found: Object Thinking Meetup #3: Yegor Bugayenko / How to Inject Less?
YouTube video oV6Utb5Jows found: Dependency Injection Container is a Bad Idea (webinar #9)
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video LB_YLWhGrco found: Meetings-free Programming
YouTube video 3IXk5yEJMIs found: Continuous Integration is Dead
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video GS45LzE3LPQ found: How Much Do You Cost?
YouTube video 6mfo_FHL3PE found: How we decide how much to pay programmers?
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video hTs_R0dFoFM found: M77: Lines-of-Code don't show anything meaningful, but Hits-of-Code are pretty accurate
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video 7DYr8GYzJ6Q found: The Philosophy of Bugs (webinar #17)
YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
YouTube video aER4uwyFbqQ found: ORM is offensive (in Russian with English subtitles)
YouTube video 63tS3HNmhiE found: ORM is a perfect anti-pattern
YouTube video 03PXmPc7Q3g found: ORM is an Offensive Anti-Pattern
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video PVvLQGnyDrQ found: Gradients of Immutability (webinar #20)
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
YouTube video oiNI2jF46h0 found: Make Customers Trust You
YouTube video TxYi7J0vKC8 found: M80: Every two weeks you should hire a new auditor to review your software project
YouTube video GlBf5-g4nGk found: M98: If you think that your team is doing fine, you are a bad manager
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video Rip_04Bv3Jk found: How to be Honest and Keep a Client?
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video ues5Dks37zI found: M138: Morning stand-ups are nothing else but guilt-triggers
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video b6r2W3P9vgY found: Blame the Project
YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video biE86esgFAE found: Seven Enemies of Our Motivation (in Russian with English subtitles)
YouTube video WpP4rIhh5e4 found: Don't Create Objects That End With -ER (webinar #5)
YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
YouTube video SCcJcSVBSpU found: Tacit CSS Framework @ Porto Codes 2017
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
YouTube video lgScAwsYWCc found: M137: Don't ask your programmers to estimate, tell them how much you have
YouTube video ZtWmlKi3ivc found: Seven Sins of a Software Project
YouTube video hkXLOxZ6Fs4 found: Seven Sins of a Software Project
YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
YouTube video 3blBn65iQmU found: Why Private Static Literals are Evil? (Webinar #48)
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video LB_YLWhGrco found: Meetings-free Programming
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video KUUzUb9arNg found: M39: Meeting are evil and must be replaced by a disciplined process of decision making
YouTube video ODxm7w2DE-g found: #NoSalaries

File /home/r/repo/uml/19b92d0465e2e819ffcf88cf46c6e333.svg created (3961 bytes)
YouTube video QMcDa2eyRBY found: Need Robust Software? Make It Fragile
YouTube video nCGBgI1MNwE found: Need It Robust? Make It Fragile!
YouTube video wd-SA1HVmLg found: How Do You Know When Your Product is Ready to be Shipped?
YouTube video ZVn7ufg-tk0 found: Micromanagement (in Russian with English subtitles)
YouTube video 0Jte_LGR5Zk found: M32: Micromanagement happens when tasks are big and motivation is not explicit
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
YouTube video 9j5pq71BS5U found: Software Outsourcing, 10 Years Ahead (in Russian with English subtitles)
YouTube video mHCwlZSlZeU found: Chat Bots are the new UI

File /home/r/repo/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg created (3435 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?

File /home/r/repo/uml/d103661ebf8494340e260442970bf4af.svg created (4562 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
YouTube video kPmbRkSWYnY found: M130: The root cause of most software problems is the chaos in the code
YouTube video xbovkm0tTn0 found: Talk "MEETING-FREE SOFTWARE DEVELOPMENT, IN DISTRIBUTED TEAMS" by Yegor Bugayenko
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video b6r2W3P9vgY found: Blame the Project
YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
YouTube video Mj1gA5mEk68 found: Unit Testing vs Debugging (webinar #26)
YouTube video af6bidlat6Q found: BB1: Будьте смелее, покажите свое резюме
YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)

File /home/r/repo/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg created (4461 bytes)

File /home/r/repo/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg created (5502 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 (3495 bytes)

File /home/r/repo/uml/cad4de541e1ab10d3d9d751c661fe63f.svg created (3448 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)
33m     Build Warning: Layout 'russian' requested in _posts/2016/nov/2016-11-26-yanukovych-v-president.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/nov/2016-11-28-saakashvili-speaks-ukrainian.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-01-what-is-wrong-about-guns.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-05-who-needs-war.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-08-lustration-in-ukraine.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-12-putin-is-power.md does not exist.0m

File /home/r/repo/uml/45d05ab3bd9a93ad88ec209352b62f60.svg created (3225 bytes)
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-15-onishenko-our-hero.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-19-are-you-ashamed-of-voting.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-19-privatbank-nationalization.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-22-what-causes-terrorism.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-26-what-would-you-ask-putin.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-29-who-wants-our-donations.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-30-tu154-sochi.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-02-ukraine-budget-2017.md does not exist.0m
YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
YouTube video 4i-OK4IA4vA found: M158: Eliminating team conflicts leads to less collaboration, not more
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-05-justice-against-corruption.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-12-will-i-go-to-war.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-16-ukrainian-startups.md does not exist.0m
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-23-consciousness-and-revolution.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-30-lifetime-imprisonment-for-separatism.md does not exist.0m
YouTube video Wcy53ZSF78o found: Decorating Envelopes in OOP (webinar #31)
33m     Build Warning: Layout 'russian' requested in _posts/2017/feb/2017-02-06-how-to-eliminate-corruption.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/feb/2017-02-20-nationalism-of-the-future.md does not exist.0m
YouTube video ZhWOlaMqppM found: How I didn't get a job at Amazon (in Russian with English subtitles)
33m     Build Warning: Layout 'russian' requested in _posts/2017/mar/2017-03-02-history-of-separatism.md does not exist.0m
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
33m     Build Warning: Layout 'russian' requested in _posts/2017/apr/2017-04-18-dnepr-corruption-item.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/apr/2017-04-24-slaves-of-the-law.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/may/2017-05-15-loyalty.md does not exist.0m
YouTube video 1bAixLaOCSA found: Java Day Minsk 2017 | Yegor Bugayenko - Object Oriented JUnit Tests
YouTube video CCr8hRE_TUs found: Object-Oriented Flavor for JUnit Tests
YouTube video ZdHCrsQsoMI found: M136: Any software product has an unlimited number of bugs
33m     Build Warning: Layout 'russian' requested in _posts/2017/jun/2017-06-29-activists.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jul/2017-07-27-sabotage-failed.md does not exist.0m
YouTube video Op3EIwhMxrg found: M33: You don't need to be loyal to your employers, use them for your own good!
YouTube video 4ZWHs1mloUw found: RAII in Java (Webinar #52)
YouTube video KYd24FN58wg found: Object-Oriented Java Web App from Scratch in One Hour: ThreeCopies.com (Webinar #28)
YouTube video 7WmsiV22IXM found: Lazy Loading via Java Lambda (Webinar #30)
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2017/oct/2017-10-24-motherland.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/oct/2017-10-30-ukrainian-language.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/nov/2017-11-08-crimea.md does not exist.0m
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
33m     Build Warning: Layout 'russian' requested in _posts/2017/nov/2017-11-22-opposition.md does not exist.0m
YouTube video uhDmHkMAYnM found: Micro-management vs. micro-tasking (webinar #25)
YouTube video tHeXxLdGqqI found: M19: Want to pay-by-result? You have to do microtasking first, otherwise nothing will work.
YouTube video 1rmZN3r5SWg found: M27: Microtasking enables more accurate and precise estimates of a software project's future
33m     Build Warning: Layout 'russian' requested in _posts/2018/jan/2018-01-03-fake-opposition.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2018/jan/2018-01-10-dalles-plan.md does not exist.0m
YouTube video F3bjFXFRsI8 found: M20: Reporting bugs and deciding whether they should be fixed are two separate activities!
YouTube video 55mwAbuDrV8 found: Quality vs. Quantity (in Russian)
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
33m     Build Warning: Layout 'russian' requested in _posts/2018/mar/2018-03-17-putin-election.md does not exist.0m
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video GozQCUH2D0I found: M22: Both full-time hiring and outsourcing will lead your project to failure, Zerocracy won't.
33m     Build Warning: Layout 'russian' requested in _posts/2018/mar/2018-03-25-why-gas.md does not exist.0m
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
YouTube video vXUwE3FGfpg found: #NoAltruism
YouTube video Hrk_Jorc5z4 found: M127: The ability to explain a problem so that it's understood is the most important soft skill
YouTube video -drZbHxydMc found: When do you validate your objects? (Webinar #35)
YouTube video FNWyN_Q10TI found: What's wrong with global variables? (Webinar #36)
YouTube video _ppWQCCT8zE found: M16: You either report bugs or implement features. You can't do any of that? You are out.
YouTube video RNRaVmbWZXI found: M7: Don't be afraid to ask difficult qstns before you get into a partnership, or get ready to lose
YouTube video oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
YouTube video zljJpADEf_E found: M6: Keeping all source code in a single monolithic repository is a terrible idea!
YouTube video 9tC7p2UTLsU found: M5: Professional programmers always need a second opinion, to make sure their code is good enough
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2018/oct/2018-10-07-history-simplification.md does not exist.0m
YouTube video ezE0hRH9BnQ found: M54: Make sure you control your programmers and do it explicitly and openly
YouTube video fVMml2vpP-Y found: M13: A message without a context is unprofessional and very annoying for the listener; don't do it!
YouTube video 2oAW9LmYJI4 found: M8: Since most tech editors have no idea what they are doing, ignore them
YouTube video gMJNz9AWbQE found: M1: Your enthusiasm may only harm the project if you can't deliver it incrementally
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-13-country-as-a-service.md does not exist.0m
YouTube video PYq05UAwzNk found: M2: We must fully trust the architect, but regularly review the decisions he or she is making
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-20-drugs.md does not exist.0m
YouTube video mKZOuJ7AAas found: M30: Pay equality and smaller pay gap mean only one thing: the management is weak
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-28-the-wall.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/feb/2019-02-16-calibrated-democracy.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/feb/2019-02-21-jews-vs-french.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/mar/2019-03-17-terrorism-and-power.md does not exist.0m
YouTube video SoXV_scCMNY found: Logging, the Object-Oriented Way
YouTube video bVzEPOZ_mDU found: A practical example of making an object-oriented HTTP server in Java (webinar #42)
YouTube video Qxvk9z0tEP8 found: M123: One README should be enough for any open source project
33m     Build Warning: Layout 'russian' requested in _posts/2019/apr/2019-04-28-formula-of-happiness.md does not exist.0m
YouTube video WlI6IZ6M7vY found: M74: If your project doesn't have a formal Risk List, you are doing management wrong
YouTube video KPbKqTXfZwA found: M89: Deliver your trust continuously, not discrete
YouTube video _4pk5GNUySg found: M91: Full-timers want to look smart, freelancers want to deliver results
33m     Build Warning: Layout 'russian' requested in _posts/2019/jul/2019-07-07-strong-opinions.md does not exist.0m
YouTube video 5FckPa6aOok found: M193: What is fun and joy for you, being a programmer?
33m     Build Warning: Layout 'russian' requested in _posts/2019/jul/2019-07-31-moscow-protests.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/sep/2019-09-15-revolution-bottom-up.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/sep/2019-09-28-what-is-the-point.md does not exist.0m
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
YouTube video eeXdDvIVu-Y found: What Is Cohesion in OOP? (Webinar #49)
33m     Build Warning: Layout 'russian' requested in _posts/2019/dec/2019-12-31-testosterone.md does not exist.0m
YouTube video CmUzNPqCF4s found: M120: Don't wait for your manager to tell you what to do, do what you think is right (open source)

File /home/r/repo/uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg created (13459 bytes)

File /home/r/repo/uml/930f06f36724929287c1ee82fd95c77b.svg created (8543 bytes)
YouTube video rsWrgxm8ktU found: Fat and Skinny Design (Webinar #51)

File /home/r/repo/uml/c415b43f6d14c18e66db32e9d5d6e8b2.svg created (17876 bytes)
33m     Build Warning: Layout 'russian' requested in _posts/2020/mar/2020-03-29-coronavirus.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2020/may/2020-05-02-first-world-hysteria.md does not exist.0m
YouTube video D12gi1x6Cdw found: M105: Open source developers inevitably have better soft and tech skills
YouTube video nErn5G_JHhE found: Veil Objects to Replace DTOs (Webinar #50)
33m     Build Warning: Layout 'russian' requested in _posts/2020/jun/2020-06-12-protesters.md does not exist.0m
YouTube video jjeW1hTtRh0 found: M114: The performance of programmers can be measured, with the right metrics
33m     Build Warning: Layout 'russian' requested in _posts/2020/jul/2020-07-05-silence-doesnt-cure.md does not exist.0m
YouTube video fJvUTlPHSvU found: Encapsulation Is Dead, Let's Use Distance of Coupling Instead (Webinar #55)
YouTube video Yj1VFGK9vqc found: M143: Daily reports are a perfect guilt-triggering instrument for a lazy team
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2020/nov/2020-11-21-svoboda-and-conflicts.md does not exist.0m
YouTube video WZlIb5oxDBQ found: M152: There is no management without personal responsibility
YouTube video TmAJPeM4UlE found: M153: How managers in self-managing orgs judge your performance?
YouTube video vaFPNdNaOAY found: M160: Traditional top-down planning doesn't work, try better alternative
YouTube video QaKIw1Bh3Oc found: EOLANG: Basics
YouTube video ulrMXmIcC4w found: M167: Sometimes you have to be an imposter, either you like it or not
YouTube video 65baOBHeVMI found: Yegor Bugayenko: Opening
YouTube video dlPk1AE2aQk found: M170: recruiters may do a better job if listen to us programmers
YouTube video 939ntzufGB0 found: M178: Try to focus your team on artifacts and their delivery status
YouTube video 2IwBc9UI4Sg found: SIMBA: Simplified Management by Artifacts (at Merge Conf)
YouTube video Qii3yrQJdHs found: M179: Calibrated Achievement Points (CAP) to measure R&D productivity
YouTube video 8qfd93SyXpM found: SSD 13/16: Test-Driven Development [software design crash course]
YouTube video 4I8BflW7EpU found: M188: I don't think ML will ever be able to write code
YouTube video jiEJnLBowHc found: M190: Make sure the bugs you report explain the simplest possible scenarios
YouTube video Y0Zx_sdVG48 found: M199: Unit tests are the Safety Net that you can't afford to not use
YouTube video C6CQWzOKEJs found: Object Thinking #7: Yegor Bugayenko / Immutability + Generics
33m     Build Warning: Layout 'russian' requested in _posts/2023/aug/2023-08-13-dictators.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2023/aug/2023-08-27-immigration-by-war.md does not exist.0m
YouTube video gHznfuhRR60 found: AIIN'23: Robots vs. Programmers, How soon will computers fire us?
33m     Build Warning: Layout 'russian' requested in _posts/2023/sep/2023-09-17-turbulence.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2023/oct/2023-10-01-individualism-vs-collectivism.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/jan/2024-01-03-not-able-to-speak.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/apr/2024-04-02-kulikovo-pole.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/may/2024-05-27-freedom-of-speech-vs-intelligence.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/sep/2024-09-21-interpreters-of-chaos.md does not exist.0m
473 AMP pages generated in 37.9s

places.txt generated
tags.txt generated

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

More info and automated migrator: https://sass-lang.com/d/import

34m  ╷0m
34m6 │0m @import 31m'disqus'0m;
34m  │0m 31m        ^^^^^^^^0m
34m  ╵0m
    /home/r/repo/css/layout.scss 6:9  root stylesheet
33m1mDeprecation Warning0m [34mimport0m]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import

34m  ╷0m
34m7 │0m @import 31m'defs'0m;
34m  │0m 31m        ^^^^^^0m
34m  ╵0m
    /home/r/repo/css/layout.scss 7:9  root stylesheet
33m1mDeprecation Warning0m [34mimport0m]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import

34m  ╷0m
34m8 │0m @import 31m'fonts'0m;
34m  │0m 31m        ^^^^^^^0m
34m  ╵0m
    /home/r/repo/css/layout.scss 8:9  root stylesheet
33m1mDeprecation Warning0m [34mimport0m]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import

34m  ╷0m
34m9 │0m @import 31m'highlight'0m;
34m  │0m 31m        ^^^^^^^^^^^0m
34m  ╵0m
    /home/r/repo/css/layout.scss 9:9  root stylesheet
33m1mDeprecation Warning0m [34mimport0m]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import

34m   ╷0m
34m10 │0m @import 31m'ico'0m;
34m   │0m 31m        ^^^^^0m
34m   ╵0m
    /home/r/repo/css/layout.scss 10:9  root stylesheet
33m1mWarning0m: 8 repetitive deprecation warnings omitted.
Run in verbose mode to see all warnings.
33m          Conflict: The following destination is shared by multiple files.0m
33m                    The written file may end up with unexpected contents.0m
33m                    36m/home/r/repo/_site/rss.xml0m0m
33m                     - rss.xml0m
33m                     - /home/r/repo/_site/rss.xml0m
33m                    0m
/home/r/repo/_site/buffer.rss created (211593 bytes)
/home/r/repo/_site/gnuplot/2014/11/hoc-vs-loc.svg created (89739 bytes)
/home/r/repo/_site/places.txt created (1030 bytes)
/home/r/repo/_site/tags.txt created (1185 bytes)
/home/r/repo/_site/stats.svg created (62379 bytes)
/home/r/repo/_site/words.txt created (93299 bytes)
                    done in 139.697 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
No spelling errors

No prohibited regular expressions in 1119 pages

All articles have excerpts

All snippets are compact enough

https://www.yegor256.com/2010/03/04/pdd.html: 13
https://www.yegor256.com/2013/12/29/proto.html: 4
https://www.yegor256.com/2014/04/06/introduction.html: 9
https://www.yegor256.com/2014/04/06/movies-for-thanasis.html: 11
https://www.yegor256.com/2014/04/06/phandom.html: 11
https://www.yegor256.com/2014/04/09/xembly-intro.html: 13
https://www.yegor256.com/2014/04/11/cost-of-loc.html: 20
https://www.yegor256.com/2014/04/11/jcabi-http-intro.html: 15
https://www.yegor256.com/2014/04/12/puzzle-driven-development-by-roles.html: 17
https://www.yegor256.com/2014/04/13/bugs-are-welcome.html: 30
https://www.yegor256.com/2014/04/13/no-obligations-principle.html: 21
https://www.yegor256.com/2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html: 13
https://www.yegor256.com/2014/04/15/definition-of-done.html: 13
https://www.yegor256.com/2014/04/15/github-guidelines.html: 14
https://www.yegor256.com/2014/04/17/how-xdsd-is-different.html: 28
https://www.yegor256.com/2014/04/18/jcabi-http-server-mocking.html: 11
https://www.yegor256.com/2014/04/20/how-hourly-rate-is-calculated.html: 9
https://www.yegor256.com/2014/04/21/s3-http-basic-auth.html: 13
https://www.yegor256.com/2014/04/24/java-xml-parsing-and-traversing.html: 21
https://www.yegor256.com/2014/04/26/incremental-requirements-with-requs.html: 12
https://www.yegor256.com/2014/04/27/typical-mistakes-in-java-code.html: 9
https://www.yegor256.com/2014/04/28/xml-xpath-hamcrest-matchers.html: 11
https://www.yegor256.com/2014/04/29/w3c-java-validators.html: 11
https://www.yegor256.com/2014/05/01/dynamodb-local-maven-plugin.html: 14
https://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html: 58
https://www.yegor256.com/2014/05/13/why-null-is-bad.html: 35
https://www.yegor256.com/2014/05/14/object-oriented-github-java-sdk.html: 12
https://www.yegor256.com/2014/05/18/cloud-autoincrement-counters.html: 11
https://www.yegor256.com/2014/05/21/mysql-maven-plugin.html: 12
https://www.yegor256.com/2014/05/23/avoid-java-static-logger.html: 14
https://www.yegor256.com/2014/05/26/amazon-s3-java-oop-adapter.html: 13
https://www.yegor256.com/2014/06/01/aop-aspectj-java-method-logging.html: 17
https://www.yegor256.com/2014/06/09/objects-should-be-immutable.html: 48
https://www.yegor256.com/2014/06/19/avoid-string-concatenation.html: 9
https://www.yegor256.com/2014/06/20/limit-method-execution-time.html: 11
https://www.yegor256.com/2014/06/21/casperjs-with-maven.html: 12
https://www.yegor256.com/2014/06/24/jekyll-github-deploy.html: 13
https://www.yegor256.com/2014/06/25/xml-and-xslt-in-browser.html: 17
https://www.yegor256.com/2014/06/26/sass-in-java-webapp.html: 10
https://www.yegor256.com/2014/06/29/custom-lexer-in-jekyll.html: 9
https://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html: 11
https://www.yegor256.com/2014/07/20/liquibase-in-maven.html: 12
https://www.yegor256.com/2014/07/21/read-only-master-branch.html: 34
https://www.yegor256.com/2014/07/24/rultor-automated-merging.html: 29
https://www.yegor256.com/2014/07/29/docker-in-rultor.html: 16
https://www.yegor256.com/2014/07/31/travis-and-rultor.html: 13
https://www.yegor256.com/2014/08/03/cacheable-java-annotation.html: 13
https://www.yegor256.com/2014/08/13/strict-code-quality-control.html: 36
https://www.yegor256.com/2014/08/15/retry-java-method-on-exception.html: 15
https://www.yegor256.com/2014/08/18/fluent-jdbc-decorator.html: 12
https://www.yegor256.com/2014/08/19/how-to-release-to-maven-central.html: 23
https://www.yegor256.com/2014/08/22/art-of-software-testing.html: 14
https://www.yegor256.com/2014/08/25/deploy-to-cloudbees.html: 15
https://www.yegor256.com/2014/08/26/publish-to-rubygems.html: 16
https://www.yegor256.com/2014/08/29/docker-non-root.html: 11
https://www.yegor256.com/2014/09/02/java-ssh-client.html: 11
https://www.yegor256.com/2014/09/09/restful-web-sites.html: 13
https://www.yegor256.com/2014/09/10/anti-patterns-in-oop.html: 17
https://www.yegor256.com/2014/09/11/deployment-script-vs-rultor.html: 17
https://www.yegor256.com/2014/09/13/deploying-to-heroku.html: 13
https://www.yegor256.com/2014/09/16/getters-and-setters-are-evil.html: 51
https://www.yegor256.com/2014/09/22/remote-programming-interview.html: 5
https://www.yegor256.com/2014/09/23/built-in-fake-objects.html: 18
https://www.yegor256.com/2014/09/24/why-monetary-awards-dont-work.html: 30
https://www.yegor256.com/2014/10/03/di-containers-are-evil.html: 22
https://www.yegor256.com/2014/10/05/ten-hosted-continuous-integration-services.html: 14
https://www.yegor256.com/2014/10/06/software-project-lifecycle.html: 14
https://www.yegor256.com/2014/10/07/stop-chatting-start-coding.html: 32
https://www.yegor256.com/2014/10/08/continuous-integration-is-dead.html: 41
https://www.yegor256.com/2014/10/12/who-is-software-architect.html: 46
https://www.yegor256.com/2014/10/20/how-we-write-product-vision.html: 11
https://www.yegor256.com/2014/10/21/incremental-billing.html: 17
https://www.yegor256.com/2014/10/23/paired-brackets-notation.html: 9
https://www.yegor256.com/2014/10/26/hacker-vs-programmer-mentality.html: 26
https://www.yegor256.com/2014/10/29/how-much-do-you-cost.html: 43
https://www.yegor256.com/2014/11/03/empty-line-code-smell.html: 12
https://www.yegor256.com/2014/11/07/how-immutability-helps.html: 17
https://www.yegor256.com/2014/11/14/hits-of-code.html: 22
https://www.yegor256.com/2014/11/20/seven-virtues-of-good-object.html: 47
https://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html: 20
https://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html: 36
https://www.yegor256.com/2014/12/04/synchronization-between-nodes.html: 11
https://www.yegor256.com/2014/12/09/immutable-object-state-and-behavior.html: 15
https://www.yegor256.com/2014/12/15/how-much-your-objects-encapsulate.html: 12
https://www.yegor256.com/2014/12/18/independent-technical-reviews.html: 22
https://www.yegor256.com/2014/12/22/immutable-objects-not-dumb.html: 13
https://www.yegor256.com/2015/01/05/how-to-be-honest-and-keep-customer.html: 13
https://www.yegor256.com/2015/01/08/morning-standup-meetings.html: 27
https://www.yegor256.com/2015/01/10/windows-appveyor-maven.html: 9
https://www.yegor256.com/2015/01/12/compound-name-is-code-smell.html: 12
https://www.yegor256.com/2015/01/15/how-to-cut-corners.html: 24
https://www.yegor256.com/2015/01/21/if-then-throw-else.html: 11
https://www.yegor256.com/2015/01/26/happy-boss-false-objective.html: 41
https://www.yegor256.com/2015/02/02/xsl-transformations-in-java.html: 13
https://www.yegor256.com/2015/02/05/jcabi-parent-maven-pom.html: 16
https://www.yegor256.com/2015/02/09/serious-code-reviewer.html: 15
https://www.yegor256.com/2015/02/12/top-down-design.html: 11
https://www.yegor256.com/2015/02/16/it-is-not-a-school.html: 25
https://www.yegor256.com/2015/02/20/utility-classes-vs-functional-programming.html: 20
https://www.yegor256.com/2015/02/23/haircut.html: 14
https://www.yegor256.com/2015/02/26/composable-decorators.html: 28
https://www.yegor256.com/2015/03/02/team-morale-myths-and-reality.html: 29
https://www.yegor256.com/2015/03/09/objects-end-with-er.html: 25
https://www.yegor256.com/2015/03/16/technical-glossaries.html: 11
https://www.yegor256.com/2015/03/22/takes-java-web-framework.html: 15
https://www.yegor256.com/2015/03/26/jaxb-vs-xembly.html: 14
https://www.yegor256.com/2015/03/29/rultor-with-appveyor.html: 11
https://www.yegor256.com/2015/04/02/class-casting-is-anti-pattern.html: 22
https://www.yegor256.com/2015/04/13/tacit-css-framework-for-dummies.html: 11
https://www.yegor256.com/2015/04/16/award.html: 11
https://www.yegor256.com/2015/04/22/favorite-software-books.html: 10
https://www.yegor256.com/2015/04/30/iterating-adapter.html: 9
https://www.yegor256.com/2015/05/04/how-to-protect-business-idea.html: 12
https://www.yegor256.com/2015/05/07/ctors-must-be-code-free.html: 30
https://www.yegor256.com/2015/05/11/software-architect-responsibilities.html: 17
https://www.yegor256.com/2015/05/13/two-instruments-of-software-architect.html: 11
https://www.yegor256.com/2015/05/18/cookie-based-authentication.html: 11
https://www.yegor256.com/2015/05/21/avoid-software-outsourcing-disaster.html: 23
https://www.yegor256.com/2015/05/25/unit-test-scaffolding.html: 13
https://www.yegor256.com/2015/05/28/one-primary-constructor.html: 20
https://www.yegor256.com/2015/06/02/how-to-estimate-software-cost.html: 31
https://www.yegor256.com/2015/06/08/deadly-sins-software-project.html: 27
https://www.yegor256.com/2015/06/11/wikipedia-bug-definition.html: 13
https://www.yegor256.com/2015/06/15/software-outsourcing-survival-guide.html: 13
https://www.yegor256.com/2015/06/18/good-programmers-bug-free.html: 13
https://www.yegor256.com/2015/06/22/valid-reasons-to-reject-bug-fix.html: 12
https://www.yegor256.com/2015/06/25/xml-data-xsl-views-takes-framework.html: 13
https://www.yegor256.com/2015/06/29/simple-diagrams.html: 17
https://www.yegor256.com/2015/07/06/public-static-literals.html: 14
https://www.yegor256.com/2015/07/09/catch-if-cant-otherwise.html: 10
https://www.yegor256.com/2015/07/13/meetings-are-legalized-robbery.html: 20
https://www.yegor256.com/2015/07/16/fools-dont-write-unit-tests.html: 11
https://www.yegor256.com/2015/07/21/hourly-pay-modern-slavery.html: 57
https://www.yegor256.com/2015/07/28/checked-vs-unchecked-exceptions.html: 18
https://www.yegor256.com/2015/08/04/nine-steps-start-software-project.html: 12
https://www.yegor256.com/2015/08/18/multiple-return-statements-in-oop.html: 15
https://www.yegor256.com/2015/08/25/fail-fast.html: 14
https://www.yegor256.com/2015/09/01/redundant-variables-are-evil.html: 12
https://www.yegor256.com/2015/09/07/maven-repository-amazon-s3.html: 13
https://www.yegor256.com/2015/09/10/testing-exit-criteria.html: 12
https://www.yegor256.com/2015/09/16/how-to-fire-someone-right.html: 33
https://www.yegor256.com/2015/09/22/micromanagement.html: 60
https://www.yegor256.com/2015/09/29/mayonnaise.html: 17
https://www.yegor256.com/2015/10/01/vertical-horizontal-decorating.html: 13
https://www.yegor256.com/2015/10/06/how-to-be-good-office-slave.html: 59
https://www.yegor256.com/2015/10/13/competition-without-rules.html: 25
https://www.yegor256.com/2015/10/16/ridley-scott-and-joseph-goebbels.html: 14
https://www.yegor256.com/2015/10/17/award-2016.html: 10
https://www.yegor256.com/2015/10/20/interrupted-exception.html: 10
https://www.yegor256.com/2015/10/27/outsourcing-doesnt-work.html: 36
https://www.yegor256.com/2015/11/03/chatbot-better-than-ui-for-microservice.html: 13
https://www.yegor256.com/2015/11/10/ten-mistakes-in-specs.html: 36
https://www.yegor256.com/2015/11/16/json-vs-xml.html: 20
https://www.yegor256.com/2015/11/21/ringelmann-effect-vs-agile.html: 21
https://www.yegor256.com/2015/11/24/imprisonment-for-irresponsible-coding.html: 16
https://www.yegor256.com/2015/12/01/rethrow-exceptions.html: 30
https://www.yegor256.com/2015/12/08/temporal-coupling-between-method-calls.html: 19
https://www.yegor256.com/2015/12/16/investors-are-too-scared.html: 10
https://www.yegor256.com/2015/12/22/why-dont-you-contribute-to-open-source.html: 40
https://www.yegor256.com/2015/12/29/turnover-is-good-for-maintainability.html: 13
https://www.yegor256.com/2016/01/05/how-to-punish-employees.html: 33
https://www.yegor256.com/2016/01/12/good-programmers-dont-work-for-equity.html: 15
https://www.yegor256.com/2016/01/19/how-expensive-is-outsourcing.html: 14
https://www.yegor256.com/2016/01/26/defensive-programming.html: 11
https://www.yegor256.com/2016/02/03/design-patterns-and-anti-patterns.html: 23
https://www.yegor256.com/2016/02/09/are-you-still-debugging.html: 16
https://www.yegor256.com/2016/02/18/holacracy-autocracy.html: 24
https://www.yegor256.com/2016/03/01/how-we-interview-programmers.html: 13
https://www.yegor256.com/2016/03/08/pimp-up-your-resume.html: 19
https://www.yegor256.com/2016/03/15/wring-dispatcher-github-notifications.html: 13
https://www.yegor256.com/2016/03/22/try-finally-if-not-null.html: 12
https://www.yegor256.com/2016/03/28/unspoken-secrets-of-elevator-pitch.html: 13
https://www.yegor256.com/2016/03/30/jare-instant-free-cdn.html: 11
https://www.yegor256.com/2016/04/05/printers-instead-of-getters.html: 24
https://www.yegor256.com/2016/04/08/revenue-may-kill-startup.html: 10
https://www.yegor256.com/2016/04/12/java-annotations-are-evil.html: 25
https://www.yegor256.com/2016/04/19/object-must-not-be-configurable.html: 14
https://www.yegor256.com/2016/04/26/why-inputstream-design-is-wrong.html: 25
https://www.yegor256.com/2016/05/03/test-methods-must-share-nothing.html: 12
https://www.yegor256.com/2016/05/10/keynote-clowns.html: 18
https://www.yegor256.com/2016/05/17/convertible-notes.html: 11
https://www.yegor256.com/2016/05/24/who-is-project-manager.html: 49
https://www.yegor256.com/2016/06/03/conference-mistakes.html: 10
https://www.yegor256.com/2016/06/17/dont-use-java-assertions.html: 10
https://www.yegor256.com/2016/06/21/how-to-hire-programmer.html: 15
https://www.yegor256.com/2016/06/27/singletons-must-die.html: 20
https://www.yegor256.com/2016/07/06/data-transfer-object.html: 35
https://www.yegor256.com/2016/07/10/software-project-roles.html: 13
https://www.yegor256.com/2016/07/11/mistakes-in-agile-manifesto.html: 23
https://www.yegor256.com/2016/07/14/who-is-object.html: 33
https://www.yegor256.com/2016/07/18/law-of-demeter.html: 10
https://www.yegor256.com/2016/07/21/convince-me.html: 19
https://www.yegor256.com/2016/07/26/active-record.html: 10
https://www.yegor256.com/2016/08/01/continuous-integration-maturity.html: 12
https://www.yegor256.com/2016/08/05/distributed-teams-are-higher-quality.html: 14
https://www.yegor256.com/2016/08/10/if-then-else-code-smell.html: 11
https://www.yegor256.com/2016/08/15/what-is-wrong-object-oriented-programming.html: 32
https://www.yegor256.com/2016/08/23/communication-maturity.html: 25
https://www.yegor256.com/2016/08/30/decomposition-of-responsibility.html: 10
https://www.yegor256.com/2016/09/07/gradients-of-immutability.html: 12
https://www.yegor256.com/2016/09/13/inheritance-is-procedural.html: 21
https://www.yegor256.com/2016/09/20/oop-without-classes.html: 14
https://www.yegor256.com/2016/09/27/command-control-innovate.html: 21
https://www.yegor256.com/2016/10/23/award-2017.html: 9
https://www.yegor256.com/2016/11/09/why-no-ebooks.html: 13
https://www.yegor256.com/2016/11/18/software-conferences-to-attend.html: 5
https://www.yegor256.com/2016/11/21/naked-data.html: 42
https://www.yegor256.com/2016/11/26/yanukovych-v-president.html: 13
https://www.yegor256.com/2016/11/28/saakashvili-speaks-ukrainian.html: 16
https://www.yegor256.com/2016/11/29/eolang.html: 12
https://www.yegor256.com/2016/12/01/what-is-wrong-about-guns.html: 11
https://www.yegor256.com/2016/12/05/who-needs-war.html: 14
https://www.yegor256.com/2016/12/06/how-to-pay-programmers-less.html: 22
https://www.yegor256.com/2016/12/08/lustration-in-ukraine.html: 13
https://www.yegor256.com/2016/12/12/putin-is-power.html: 9
https://www.yegor256.com/2016/12/13/mvc-vs-oop.html: 16
https://www.yegor256.com/2016/12/15/onishenko-our-hero.html: 10
https://www.yegor256.com/2016/12/19/are-you-ashamed-of-voting.html: 13
https://www.yegor256.com/2016/12/19/privatbank-nationalization.html: 12
https://www.yegor256.com/2016/12/20/can-objects-be-friends.html: 16
https://www.yegor256.com/2016/12/22/what-causes-terrorism.html: 13
https://www.yegor256.com/2016/12/26/what-would-you-ask-putin.html: 11
https://www.yegor256.com/2016/12/29/who-wants-our-donations.html: 14
https://www.yegor256.com/2016/12/30/tu154-sochi.html: 8
https://www.yegor256.com/2017/01/02/ukraine-budget-2017.html: 9
https://www.yegor256.com/2017/01/03/how-much-you-love-conflicts.html: 17
https://www.yegor256.com/2017/01/05/justice-against-corruption.html: 14
https://www.yegor256.com/2017/01/10/how-to-teach-customers.html: 11
https://www.yegor256.com/2017/01/12/will-i-go-to-war.html: 9
https://www.yegor256.com/2017/01/16/ukrainian-startups.html: 9
https://www.yegor256.com/2017/01/17/synchronized-decorators.html: 18
https://www.yegor256.com/2017/01/23/consciousness-and-revolution.html: 10
https://www.yegor256.com/2017/01/24/career-advice.html: 20
https://www.yegor256.com/2017/01/30/lifetime-imprisonment-for-separatism.html: 12
https://www.yegor256.com/2017/01/31/decorating-envelopes.html: 13
https://www.yegor256.com/2017/02/06/how-to-eliminate-corruption.html: 14
https://www.yegor256.com/2017/02/07/private-method-is-new-class.html: 15
https://www.yegor256.com/2017/02/14/stackoverflow-is-your-tool.html: 15
https://www.yegor256.com/2017/02/20/nationalism-of-the-future.html: 8
https://www.yegor256.com/2017/02/21/say-no-to-google-recruiters.html: 20
https://www.yegor256.com/2017/02/28/too-many-classes.html: 17
https://www.yegor256.com/2017/03/02/history-of-separatism.html: 13
https://www.yegor256.com/2017/03/07/traits-and-mixins.html: 13
https://www.yegor256.com/2017/03/24/tdd-that-works.html: 25
https://www.yegor256.com/2017/03/28/solid.html: 18
https://www.yegor256.com/2017/04/05/pdd-in-action.html: 14
https://www.yegor256.com/2017/04/11/flexibility-equates-lower-quality.html: 17
https://www.yegor256.com/2017/04/18/dnepr-corruption-item.html: 8
https://www.yegor256.com/2017/04/18/no-help-via-email.html: 13
https://www.yegor256.com/2017/04/24/slaves-of-the-law.html: 8
https://www.yegor256.com/2017/04/25/sixnines.html: 11
https://www.yegor256.com/2017/05/02/remote-slaves.html: 18
https://www.yegor256.com/2017/05/10/inversion-of-control.html: 9
https://www.yegor256.com/2017/05/15/loyalty.html: 10
https://www.yegor256.com/2017/05/16/monikers.html: 11
https://www.yegor256.com/2017/05/17/single-statement-unit-tests.html: 13
https://www.yegor256.com/2017/05/23/unlimited-number-of-bugs.html: 17
https://www.yegor256.com/2017/05/30/why-contribute-to-open-source.html: 13
https://www.yegor256.com/2017/06/06/gluten-free-management.html: 15
https://www.yegor256.com/2017/06/13/dynamodb-rack-maven.html: 12
https://www.yegor256.com/2017/06/22/object-oriented-input-output-in-cactoos.html: 15
https://www.yegor256.com/2017/06/27/my-environment.html: 12
https://www.yegor256.com/2017/06/29/activists.html: 10
https://www.yegor256.com/2017/07/04/sexism.html: 12
https://www.yegor256.com/2017/07/11/how-to-redesign-equals.html: 11
https://www.yegor256.com/2017/07/18/sexual-harassment.html: 12
https://www.yegor256.com/2017/07/25/my-favorite-websites.html: 8
https://www.yegor256.com/2017/07/27/sabotage-failed.html: 9
https://www.yegor256.com/2017/08/01/how-to-manage-a-manager.html: 20
https://www.yegor256.com/2017/08/08/raii-in-java.html: 12
https://www.yegor256.com/2017/08/15/bitcoin-pyramid.html: 10
https://www.yegor256.com/2017/08/22/to-be-nice-or-not.html: 9
https://www.yegor256.com/2017/08/29/xcop.html: 11
https://www.yegor256.com/2017/09/05/rehttp-http-repeater.html: 10
https://www.yegor256.com/2017/09/12/evil-object-name-suffix-client.html: 9
https://www.yegor256.com/2017/09/19/what-motivates-me.html: 12
https://www.yegor256.com/2017/09/26/threecopies-server-data-backup.html: 8
https://www.yegor256.com/2017/10/03/java9.html: 9
https://www.yegor256.com/2017/10/10/streams-vs-decorators.html: 10
https://www.yegor256.com/2017/10/17/lazy-loading-caching-sticky-cactoos.html: 11
https://www.yegor256.com/2017/10/24/award-2018.html: 8
https://www.yegor256.com/2017/10/24/motherland.html: 10
https://www.yegor256.com/2017/10/30/ukrainian-language.html: 15
https://www.yegor256.com/2017/11/07/five-new-java-features.html: 12
https://www.yegor256.com/2017/11/08/crimea.html: 10
https://www.yegor256.com/2017/11/14/static-factory-methods.html: 20
https://www.yegor256.com/2017/11/21/trust-pay-lose.html: 21
https://www.yegor256.com/2017/11/22/opposition.html: 8
https://www.yegor256.com/2017/11/28/microtasking.html: 39
https://www.yegor256.com/2017/12/05/data-access-object.html: 12
https://www.yegor256.com/2017/12/12/alan-kay-was-wrong.html: 11
https://www.yegor256.com/2017/12/19/srp-is-hoax.html: 15
https://www.yegor256.com/2017/12/26/software-quality-formula.html: 19
https://www.yegor256.com/2018/01/02/operator-new-is-toxic.html: 10
https://www.yegor256.com/2018/01/03/fake-opposition.html: 9
https://www.yegor256.com/2018/01/09/micro-budgeting.html: 25
https://www.yegor256.com/2018/01/10/dalles-plan.html: 9
https://www.yegor256.com/2018/01/16/educational-aspect-of-static-analysis.html: 13
https://www.yegor256.com/2018/01/23/sociotech-skills.html: 15
https://www.yegor256.com/2018/02/06/where-to-find-more-bugs.html: 9
https://www.yegor256.com/2018/02/13/micro-vesting.html: 11
https://www.yegor256.com/2018/02/27/parsing-objects.html: 12
https://www.yegor256.com/2018/03/06/speed-vs-quality.html: 16
https://www.yegor256.com/2018/03/13/fluent-interfaces.html: 15
https://www.yegor256.com/2018/03/17/putin-election.html: 10
https://www.yegor256.com/2018/03/21/zerocracy-announcement.html: 17
https://www.yegor256.com/2018/03/25/why-gas.html: 8
https://www.yegor256.com/2018/03/27/how-to-test-thread-safety.html: 11
https://www.yegor256.com/2018/04/03/donations-via-zerocracy.html: 9
https://www.yegor256.com/2018/04/10/learning-by-refactoring.html: 11
https://www.yegor256.com/2018/04/17/how-to-be-lazy.html: 20
https://www.yegor256.com/2018/04/24/right-way-to-report-bugs.html: 34
https://www.yegor256.com/2018/05/08/open-source-attributes.html: 14
https://www.yegor256.com/2018/05/22/default-arguments-against-null.html: 9
https://www.yegor256.com/2018/05/29/object-validation.html: 11
https://www.yegor256.com/2018/06/19/glogin.html: 9
https://www.yegor256.com/2018/06/26/are-you-an-architect.html: 10
https://www.yegor256.com/2018/07/03/global-variables.html: 14
https://www.yegor256.com/2018/07/24/bugs-or-pull-requests.html: 16
https://www.yegor256.com/2018/08/14/seventy-percent.html: 10
https://www.yegor256.com/2018/08/22/builders-and-manipulators.html: 11
https://www.yegor256.com/2018/08/27/penalty-for-refusal.html: 8
https://www.yegor256.com/2018/08/29/soft-skills.html: 13
https://www.yegor256.com/2018/09/05/monolithic-repositories.html: 10
https://www.yegor256.com/2018/09/07/what-is-speed.html: 8
https://www.yegor256.com/2018/09/12/clear-code.html: 8
https://www.yegor256.com/2018/09/18/fear-of-coupling.html: 11
https://www.yegor256.com/2018/09/30/award-2019.html: 7
https://www.yegor256.com/2018/10/01/remote-work.html: 8
https://www.yegor256.com/2018/10/07/history-simplification.html: 13
https://www.yegor256.com/2018/10/09/can-you-control-us.html: 13
https://www.yegor256.com/2018/10/16/dont-make-me-guess.html: 11
https://www.yegor256.com/2018/10/30/mailanes.html: 10
https://www.yegor256.com/2018/11/06/ruby-threads.html: 10
https://www.yegor256.com/2018/11/13/bigotry.html: 9
https://www.yegor256.com/2018/11/20/journalism.html: 11
https://www.yegor256.com/2018/11/23/freelance-vs-outsourcing.html: 8
https://www.yegor256.com/2018/11/27/you-can-do-better.html: 11
https://www.yegor256.com/2018/12/11/unit-testing-anti-patterns.html: 11
https://www.yegor256.com/2018/12/18/silicon-valley-criticism.html: 12
https://www.yegor256.com/2018/12/25/speaker-cheat-sheet.html: 9
https://www.yegor256.com/2019/01/01/hazardous-enthusiasm.html: 9
https://www.yegor256.com/2019/01/13/country-as-a-service.html: 9
https://www.yegor256.com/2019/01/15/what-if-architect-is-wrong.html: 11
https://www.yegor256.com/2019/01/20/drugs.html: 9
https://www.yegor256.com/2019/01/22/10x-paychecks.html: 11
https://www.yegor256.com/2019/01/28/the-wall.html: 12
https://www.yegor256.com/2019/01/29/dependency-hell.html: 9
https://www.yegor256.com/2019/02/03/cloudrepo.html: 12
https://www.yegor256.com/2019/02/05/zache.html: 8
https://www.yegor256.com/2019/02/12/silicon-valley-benefits.html: 12
https://www.yegor256.com/2019/02/16/calibrated-democracy.html: 10
https://www.yegor256.com/2019/02/21/jews-vs-french.html: 15
https://www.yegor256.com/2019/03/12/data-and-maintainability.html: 9
https://www.yegor256.com/2019/03/12/how-to-move-faster.html: 8
https://www.yegor256.com/2019/03/17/terrorism-and-power.html: 13
https://www.yegor256.com/2019/03/19/logging-without-static-logger.html: 9
https://www.yegor256.com/2019/03/26/jpages.html: 11
https://www.yegor256.com/2019/03/26/sales-kit.html: 10
https://www.yegor256.com/2019/03/28/cost-of-zerocrat.html: 8
https://www.yegor256.com/2019/03/29/concerns.html: 9
https://www.yegor256.com/2019/03/30/survival-guide.html: 8
https://www.yegor256.com/2019/04/02/software-project-review-checklist.html: 10
https://www.yegor256.com/2019/04/09/beg-them.html: 11
https://www.yegor256.com/2019/04/17/nutch-from-java.html: 9
https://www.yegor256.com/2019/04/23/elegant-readme.html: 14
https://www.yegor256.com/2019/04/28/formula-of-happiness.html: 12
https://www.yegor256.com/2019/05/07/sibit-bitcoin-command-line-client.html: 9
https://www.yegor256.com/2019/05/14/cause-risk-effect.html: 12
https://www.yegor256.com/2019/05/21/dont-improvise.html: 10
https://www.yegor256.com/2019/05/28/trust-or-not.html: 14
https://www.yegor256.com/2019/06/11/where-do-you-seek-help.html: 9
https://www.yegor256.com/2019/06/19/how-much-they-suffer.html: 11
https://www.yegor256.com/2019/06/26/syncem.html: 8
https://www.yegor256.com/2019/07/02/tdd-misbeliefs.html: 9
https://www.yegor256.com/2019/07/07/strong-opinions.html: 12
https://www.yegor256.com/2019/07/10/inversive-management.html: 10
https://www.yegor256.com/2019/07/30/joy-of-programming.html: 9
https://www.yegor256.com/2019/07/31/moscow-protests.html: 11
https://www.yegor256.com/2019/09/03/injection-of-guilt.html: 17
https://www.yegor256.com/2019/09/10/how-to-motivate-kids-to-code.html: 9
https://www.yegor256.com/2019/09/15/revolution-bottom-up.html: 10
https://www.yegor256.com/2019/09/17/be-unhappy-to-be-happy.html: 11
https://www.yegor256.com/2019/09/27/parsing-and-printing.html: 11
https://www.yegor256.com/2019/09/28/what-is-the-point.html: 9
https://www.yegor256.com/2019/10/29/sql-as-a-service.html: 9
https://www.yegor256.com/2019/11/03/award-2020.html: 6
https://www.yegor256.com/2019/11/05/revolutionary-evolution.html: 10
https://www.yegor256.com/2019/11/19/how-much-cohesion-is-enough.html: 9
https://www.yegor256.com/2019/12/03/testing-in-code-review.html: 9
https://www.yegor256.com/2019/12/24/altruism-kills.html: 9
https://www.yegor256.com/2019/12/31/talented-programmers.html: 9
https://www.yegor256.com/2019/12/31/testosterone.html: 13
https://www.yegor256.com/2020/01/07/embrace-the-chaos.html: 12
https://www.yegor256.com/2020/01/15/question-never-ask.html: 11
https://www.yegor256.com/2020/02/11/object-cohesion.html: 9
https://www.yegor256.com/2020/02/19/fat-skinny-design.html: 11
https://www.yegor256.com/2020/03/03/prefixed-naming.html: 11
https://www.yegor256.com/2020/03/29/coronavirus.html: 10
https://www.yegor256.com/2020/05/02/first-world-hysteria.html: 11
https://www.yegor256.com/2020/05/05/open-source-arms-race.html: 9
https://www.yegor256.com/2020/05/13/career-killer.html: 11
https://www.yegor256.com/2020/05/19/veil-objects.html: 11
https://www.yegor256.com/2020/06/12/protesters.html: 14
https://www.yegor256.com/2020/06/23/individual-performance-metrics.html: 19
https://www.yegor256.com/2020/07/05/silence-doesnt-cure.html: 13
https://www.yegor256.com/2020/07/29/open-source-etiquette.html: 14
https://www.yegor256.com/2020/10/06/latex-spell-checking.html: 9
https://www.yegor256.com/2020/10/13/lack-of-problem.html: 9
https://www.yegor256.com/2020/10/27/distance-of-coupling.html: 9
https://www.yegor256.com/2020/11/03/daily-reports.html: 9
https://www.yegor256.com/2020/11/10/typing-without-types.html: 9
https://www.yegor256.com/2020/11/15/award-2021.html: 4
https://www.yegor256.com/2020/11/21/svoboda-and-conflicts.html: 9
https://www.yegor256.com/2020/11/24/objects-without-methods.html: 12
https://www.yegor256.com/2020/12/01/abstract-objects.html: 12
https://www.yegor256.com/2020/12/22/self-managing-orgs.html: 13
https://www.yegor256.com/2020/12/29/metric-for-emotions.html: 12
https://www.yegor256.com/2021/02/02/greed-based-planning.html: 9
https://www.yegor256.com/2021/02/10/dataization.html: 11
https://www.yegor256.com/2021/03/03/imposters-to-win.html: 11
https://www.yegor256.com/2021/04/14/how-we-organized-iccq.html: 14
https://www.yegor256.com/2021/06/01/tips-for-recruiters.html: 9
https://www.yegor256.com/2021/08/04/prestructors.html: 11
https://www.yegor256.com/2021/08/11/logging-in-unit-tests.html: 11
https://www.yegor256.com/2021/09/09/simba.html: 9
https://www.yegor256.com/2021/10/12/calibrated-achievement-points.html: 9
https://www.yegor256.com/2021/10/21/objectionary.html: 9
https://www.yegor256.com/2021/12/01/teaching.html: 12
https://www.yegor256.com/2022/02/16/ai-coding.html: 9
https://www.yegor256.com/2022/03/29/bugs-occam-razor.html: 9
https://www.yegor256.com/2022/06/05/reflection-means-hidden-coupling.html: 9
https://www.yegor256.com/2022/06/14/principle-of-one.html: 9
https://www.yegor256.com/2022/07/05/safety-net.html: 12
https://www.yegor256.com/2022/07/20/command-line-defaults.html: 9
https://www.yegor256.com/2022/08/04/code-and-tests-different-pull-requests.html: 10
https://www.yegor256.com/2022/08/10/xsline-immutable-pipeline.html: 11
https://www.yegor256.com/2022/08/24/research-paper-template.html: 12
https://www.yegor256.com/2022/08/30/dont-group-exception-catchers.html: 11
https://www.yegor256.com/2022/09/08/smaller-try-blocks.html: 11
https://www.yegor256.com/2023/01/19/layout-of-tests.html: 9
https://www.yegor256.com/2023/07/19/just-show-up.html: 13
https://www.yegor256.com/2023/07/25/contribute-disabled-tests.html: 11
https://www.yegor256.com/2023/08/01/method-overloading.html: 14
https://www.yegor256.com/2023/08/08/two-step-initialization.html: 13
https://www.yegor256.com/2023/08/13/dictators.html: 11
https://www.yegor256.com/2023/08/15/decision-making-process.html: 18
https://www.yegor256.com/2023/08/22/fast-vs-deep-testing.html: 11
https://www.yegor256.com/2023/08/27/immigration-by-war.html: 13
https://www.yegor256.com/2023/08/29/ai-for-software-engineering.html: 11
https://www.yegor256.com/2023/09/05/style-checker-for-bibtex-files.html: 9
https://www.yegor256.com/2023/09/17/turbulence.html: 9
https://www.yegor256.com/2023/09/19/five-ingredients-career.html: 9
https://www.yegor256.com/2023/09/29/how-to-write-related-work-section.html: 11
https://www.yegor256.com/2023/10/01/individualism-vs-collectivism.html: 9
https://www.yegor256.com/2023/10/11/method-of-research.html: 16
https://www.yegor256.com/2023/11/22/avoid-line-breaks-inside-paragrap.html: 9
https://www.yegor256.com/2023/11/28/research-questionnaire.html: 9
https://www.yegor256.com/2023/12/11/results-and-discussion.html: 13
https://www.yegor256.com/2023/12/17/how-to-review-research-paper.html: 9
https://www.yegor256.com/2023/12/26/defend-me-against-chatgpt.html: 12
https://www.yegor256.com/2024/01/03/not-able-to-speak.html: 13
https://www.yegor256.com/2024/02/06/research-flow.html: 9
https://www.yegor256.com/2024/04/01/ping-me-please.html: 16
https://www.yegor256.com/2024/04/02/kulikovo-pole.html: 9
https://www.yegor256.com/2024/05/27/freedom-of-speech-vs-intelligence.html: 9
https://www.yegor256.com/2024/06/09/patent-claim.html: 9
https://www.yegor256.com/2024/06/23/medals-to-win.html: 9
https://www.yegor256.com/2024/07/07/checking-object-existence.html: 9
https://www.yegor256.com/2024/09/21/interpreters-of-chaos.html: 9
https://www.yegor256.com/2024/12/15/open-source-beginner-advice.html: 12
https://www.yegor256.com/2025/04/12/four-builds.html: 9
https://www.yegor256.com/2025/04/19/dont-merge-into-broken-master.html: 11
There are no orphans in 9806 links

128 links found, testing them...
+ links=/tmp/yegor256-20250420-1522-x11dsg.txt
+ report=/tmp/yegor256-20250420-1522-xll7yf.txt
+ export -f ping_uri
+ cmd='ping_uri "$0" >> "/tmp/yegor256-20250420-1522-xll7yf.txt"; echo "$0";'
+ xargs -P 10 -n 1 /bin/bash -c 'ping_uri "$0" >> "/tmp/yegor256-20250420-1522-xll7yf.txt"; echo "$0";'
https://www.0pdd.com
https://www.google.com/search?q=how+to+write+a+bug+report
https://github.com/yegor256/blog/tree/master/_samples/2017/10/sticky
https://github.com/yegor256/colorizejs/blob/master/.travis.yml
https://github.com/troxler/awesome-css-frameworks
https://github.com/jaredsburrows/OpenQuartz
https://github.com/gentee/gentee
http://blogs.msdn.com/b/nickmalik/archive/2005/09/06/461404.aspx
https://github.com/KeldOelykke/FailFast
https://chrome.google.com/webstore/detail/grammarly-for-chrome/kbfnbcaeplbcioakkpcpgfkobkghlhen?hl=en
https://github.com/wbotelhos/raty
https://www.blockchain.com/api
https://en.wikipedia.org/wiki/Dependency_inversion_principle
https://stackoverflow.com/a/333814/187141
https://ru.wikipedia.org/wiki/%D0%A3%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D0%B8%D1%86%D0%B0%D0%BD%D0%B8%D1%8F_%D0%A5%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE%D1%81%D1%82%D0%B0
https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B8%D0%B7%D0%BC
https://deploybot.com/
http://rian.com.ua/analytics/20161209/1019506143.html
https://copilot.github.com
https://github.com/jcabi/jcabi-github/pull/878
https://www.crazyontap.com/topic.php?TopicId=242135
https://www.peets.com/
https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html
https://github.com/yegor256/takes/blob/1.1/src/main/java/org/takes/rs/RsWrap.java
http://commons.apache.org/
https://github.com/yegor256/sixnines/blob/0.17/Rakefile
https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%B0,_%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE,_%D0%B1%D1%80%D0%B0%D1%82%D1%81%D1%82%D0%B2%D0%BE
https://github.com/ligi/survivalmanual
https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%BB%D0%B8%D1%86%D0%B8%D1%8F
https://techcrunch.com/2018/10/05/search-company-elastic-pops-90-on-nyse-after-raising-252m-at-a-2-5b-market-cap-in-its-ipo/
https://spie.org/samples/9781510619142.pdf
https://thinkingsideways.net/reviews/2019/02/10/elegant-objects-review.html
https://github.com/php-ai/php-ml
http://static.javadoc.io/org.takes/takes/1.1/org/takes/rq/RqBuffered.html
https://www.0crat.com/team
https://twitter.com/yegor256/status/1127460981578391555?ref_src=twsrc%5Etfw
https://dynamodb.jcabi.com
https://josephscott.org/archives/2011/10/timing-details-with-curl/
https://www.collaborationsuperpowers.com
https://lemire.me/blog/rules-to-write-a-good-research-paper/
https://github.com/skinny-framework/skinny-framework
http://vesti-ukr.com/odessa/131930-poroshenko-ja-byl-avtoritetom-dlja-saakashvili
https://github.com/rultor/rultor/tree/rultor-0.2/rultor-users/src/main/java/com/rultor/users
https://github.com/sttc/java-sdk
https://www.youtube.com/playlist?list=PLaIsQH4uc08ytf8POIIAkkR4ZsRq8DFiV
https://www.ctan.org/pkg/bibtex
https://github.com/a5kin/xentica/
http://gordonua.com/news/crimea/s-27-dekabrya-ukrzalznicya-prekrashchaet-zheleznodorozhnoe-soobshchenie-s-krymom-57915.html
https://twitter.com/unclebobmartin
https://www.instagram.com/p/BGvbjHGpG2a/
https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D1%81%D0%BE%D0%B1%D0%BE%D1%80%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B
https://amzn.to/2xjf9EG
https://www.forbes.ru/news/251663-putin-nazval-ukrainskogo-oligarkha-kolomoiskogo-prokhodimtsem
https://developer.github.com/webhooks/
https://twitter.com/hashtag/software?src=hash&amp;ref_src=twsrc%5Etfw
https://cs.dartmouth.edu/~wjarosz/writing.md.html
https://youtu.be/NFJNp5ke4CM
https://www.w3.org/TR/xslt20/
https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BD%D0%B0._%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8_%D0%BD%D0%B0%D0%B4%D0%B7%D0%B8%D1%80%D0%B0%D1%82%D0%B5%D0%BB%D1%8F
https://www.inc.com/scott-mautz/a-2-year-stanford-study-shows-astonishing-productivity-boost-of-working-from-home.html
https://aws.amazon.com/codebuild/
https://culturedcode.com/things/
https://www.w3.org/Math/
https://github.com/google/guava
https://films.yegor256.com/hot-stone/ru-captions.srt
https://twitter.com/yegor256/status/1015261994826567680
https://en.wikipedia.org/wiki/Paragraph
https://www.facebook.com/yegor256/posts/10210826984460614
https://www.0crat.com/contrib/C3FFK3YAY
https://docs.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax
https://productfest.ru/moscow/2019
https://t.me/zerocracy
https://gitlab.com/ease-ln
http://index.minfin.com.ua/index/gdp/
https://ru.wikipedia.org/wiki/%D0%94%D0%B0%D0%BB%D0%BB%D0%B5%D1%81,_%D0%90%D0%BB%D0%BB%D0%B5%D0%BD
http://static.javadoc.io/org.takes/takes/1.1/org/takes/http/FtRemote.html
https://en.wikipedia.org/wiki/Marshalling_%28computer_science%29
https://github.com/jcabi/jcabi-xml/issues/213
http://hc.apache.org/httpclient-3.x/
https://www.inc.com/bill-murphy-jr/people-who-work-from-home-are-happier-more-efficient-according-to-this-fascinating-study-theres-only-1-catch.html
https://github.com/zold-io/wts.zold.io#how-to-contribute
https://www.wsj.com/articles/SB122426318874844933
https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%BB%D0%B0%D0%BD%D1%81_%D1%81%D0%B8%D0%BB_%28%D0%B3%D0%B5%D0%BE%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0%29
https://www.nasa.gov/
https://www.1tv.ru/projects/putin/serii/putin-dokumentalnyy-film-olivera-stouna-chast-pervaya-smotret-onlayn
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html
https://cryptoevent.io/cryptobbq
https://aws.amazon.com/documentation/sdkforjava/
https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B7%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B0
https://www.imdb.com/title/tt0108399/
https://www.slideshare.net/YegorBugayenko/five-trends-we-are-afraid-of
https://twitter.com/yegor256/status/1117419548582531074?ref_src=twsrc%5Etfw
http://hamcrest.org/
https://academia.stackexchange.com/questions/2557/conference-management-software-preferably-open-source-with-custom-fields
https://en.wikipedia.org/wiki/Command_and_control
https://twitter.com/yegor256/status/1059856548112068608
https://en.wikipedia.org/wiki/Monkey_patch
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
https://github.com/yegor256/jekyll-github-deploy/blob/master/bash/deploy.sh
https://www.youtube.com/channel/UCnfR9C-3Oxt7jl6Q-JNDd4g
https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B4%D0%BE%D0%BB%D0%B3_%D0%A1%D0%A8%D0%90
https://github.com/zhaoqp2010/andbase
https://dev.twitter.com/cards/types/summary-large-image
https://www.imdb.com/title/tt2575988/
https://amzn.to/2DpkFc6
http://buildstuff.com.ua/
https://ricardo-vargas.com/
https://latexonline.cc/compile?git=https%3A%2F%2Fgithub.com%2Fyegor256%2Fblog&target=_latex%2Fresume.tex&command=pdflatex&trackId=1520158941887
https://github.com/yegor256/colorizejs/blob/master/.travis.yml: 404
https://devblogs.microsoft.com/nickmalik/461404.aspx: 403
https://rian.com.ua:443/analytics/20161209/1019506143.html: 404
https://github.com/php-ai/php-ml: 404
https://www.0crat.com/team: 404
https://vesti-ukr.com/odessa/131930-poroshenko-ja-byl-avtoritetom-dlja-saakashvili: 404
https://www.inc.com/scott-mautz/a-2-year-stanford-study-shows-astonishing-productivity-boost-of-working-from-home.html: 403
https://www.facebook.com/yegor256/posts/10210826984460614: 400
https://www.0crat.com/contrib/C3FFK3YAY: 404
https://www.inc.com/bill-murphy-jr/people-who-work-from-home-are-happier-more-efficient-according-to-this-fascinating-study-theres-only-1-catch.html: 403
https://www.wsj.com/articles/SB122426318874844933: 401
https://www.1tv.ru/projects/putin/serii/putin-dokumentalnyy-film-olivera-stouna-chast-pervaya-smotret-onlayn: 404
128 links are found, 12 are broken, it's more or less OK (9%)

eslint js/all.js...
eslint js/snowflakes.min.js...
  skipped
ESLint says JavaScript files are clean

Running RuboCop...
33mrubocop-rspec gem supports plugin, use `--plugin` instead of `--require`.
0m
Inspecting 22 files
32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m

22 files inspected, 32mno offenses0m detected
[DEPRECATION] The trollop 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
+ BRANCH=gh-pages
+ BRANCH_FROM=master
+ DEPLOY_CONFIG=/home/r/repo/_config-deploy.yml
+ BUNDLE=
+ DRAFTS=
++ pwd
+ SRC=/home/r/repo
++ mktemp -d -t jgd-XXX
+ TEMP=/tmp/jgd-EDa
+ trap 'rm -rf /tmp/jgd-EDa' EXIT
+ CLONE=/tmp/jgd-EDa/clone
+ COPY=/tmp/jgd-EDa/copy
+ echo -e 'Cloning Github repository:'
Cloning Github repository:
+ git clone -b master git@github.com:yegor256/blog.git /tmp/jgd-EDa/clone
Cloning into '/tmp/jgd-EDa/clone'...
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
remote: Enumerating objects: 1572499, done.K
remote: Counting objects: 100% (17/17), done.K
remote: Compressing objects: 100% (11/11), done.K
remote:nTotale15724999(delta63),/reused9135(deltaM3),|pack-reused/1572482 (from 1)K
Receiving objects: 100% (1572499/1572499), 770.39 MiB | 33.18 MiB/s, done.
Resolving deltas: 100% (1225183/1225183), done.
+ cp -R /tmp/jgd-EDa/clone /tmp/jgd-EDa/copy
+ cd /tmp/jgd-EDa/clone
+ echo -e '\nBuilding Jekyll site:'

Building Jekyll site:
+ rm -rf _site
+ '[' -r /home/r/repo/_config-deploy.yml ']'
+ jekyll build --config _config.yml,/home/r/repo/_config-deploy.yml
Configuration file: /tmp/jgd-EDa/clone/_config.yml
Configuration file: /home/r/repo/_config-deploy.yml
/usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/ping.rb:13: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER
            Source: /tmp/jgd-EDa/clone
       Destination: /tmp/jgd-EDa/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
WARN: No front image in /2018/08/27/penalty-for-refusal.html
WARN: No front image in /2018/09/07/what-is-speed.html
WARN: No front image in /2018/10/01/remote-work.html
WARN: No front image in /2018/10/30/mailanes.html
WARN: No front image in /2018/11/06/ruby-threads.html
WARN: No front image in /2018/11/23/freelance-vs-outsourcing.html
WARN: No front image in /2019/02/03/cloudrepo.html
WARN: No front image in /2019/02/05/zache.html
WARN: No front image in /2019/03/12/how-to-move-faster.html
WARN: No front image in /2019/03/26/sales-kit.html
WARN: No front image in /2019/03/28/cost-of-zerocrat.html
WARN: No front image in /2019/03/29/concerns.html
WARN: No front image in /2019/03/30/survival-guide.html
WARN: No front image in /2019/04/17/nutch-from-java.html
WARN: No front image in /2019/06/26/syncem.html
WARN: No front image in /2023/09/05/style-checker-for-bibtex-files.html
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that
YouTube video pvZDcytPU3w found: SQM 14/24: Tech Debt [software quality crash course] [eng sub]
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)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that

File /tmp/jgd-EDa/clone/uml/d892698103dc5669949527a8754c5f26.svg created (3409 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 (XDSD), at DevTernity'2016
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video tCr9dtGdi2c found: XDSD: How Extreme is Your Team
YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
YouTube video 4SRoLYxvIQ8 found: Practical Example of AOP with AspectJ (in Russian with English subtitles)

File /tmp/jgd-EDa/clone/uml/52d3d016f2264bbf660a23d5bbe84203.svg created (8678 bytes)
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video 2a2nWELIk-Y found: Yegor Bugayenko | Kyiv DevOps, September, 2015
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
YouTube video rEK3Rk2lX3M found: Cactoos 0.12 polishing and releasing (webinar #27)
YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
YouTube video _61CuGhyv-o found: Practical Example of a One-Click Release
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video F4N25kZ2zQU found: Object Oriented Lies (in Russian with English subtitles)
YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
YouTube video EDKbYVEInMU found: Built-in Fake Objects
YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
YouTube video MNxG1xcA2uA found: Object Thinking Meetup #3: Yegor Bugayenko / How to Inject Less?
YouTube video oV6Utb5Jows found: Dependency Injection Container is a Bad Idea (webinar #9)
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video LB_YLWhGrco found: Meetings-free Programming
YouTube video 3IXk5yEJMIs found: Continuous Integration is Dead
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video GS45LzE3LPQ found: How Much Do You Cost?
YouTube video 6mfo_FHL3PE found: How we decide how much to pay programmers?
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video hTs_R0dFoFM found: M77: Lines-of-Code don't show anything meaningful, but Hits-of-Code are pretty accurate
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video 7DYr8GYzJ6Q found: The Philosophy of Bugs (webinar #17)
YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
YouTube video aER4uwyFbqQ found: ORM is offensive (in Russian with English subtitles)
YouTube video 63tS3HNmhiE found: ORM is a perfect anti-pattern
YouTube video 03PXmPc7Q3g found: ORM is an Offensive Anti-Pattern
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video PVvLQGnyDrQ found: Gradients of Immutability (webinar #20)
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
YouTube video oiNI2jF46h0 found: Make Customers Trust You
YouTube video TxYi7J0vKC8 found: M80: Every two weeks you should hire a new auditor to review your software project
YouTube video GlBf5-g4nGk found: M98: If you think that your team is doing fine, you are a bad manager
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video Rip_04Bv3Jk found: How to be Honest and Keep a Client?
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video ues5Dks37zI found: M138: Morning stand-ups are nothing else but guilt-triggers
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video b6r2W3P9vgY found: Blame the Project
YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video biE86esgFAE found: Seven Enemies of Our Motivation (in Russian with English subtitles)
YouTube video WpP4rIhh5e4 found: Don't Create Objects That End With -ER (webinar #5)
YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
YouTube video SCcJcSVBSpU found: Tacit CSS Framework @ Porto Codes 2017
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
YouTube video lgScAwsYWCc found: M137: Don't ask your programmers to estimate, tell them how much you have
YouTube video ZtWmlKi3ivc found: Seven Sins of a Software Project
YouTube video hkXLOxZ6Fs4 found: Seven Sins of a Software Project
YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
YouTube video 3blBn65iQmU found: Why Private Static Literals are Evil? (Webinar #48)
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video LB_YLWhGrco found: Meetings-free Programming
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video KUUzUb9arNg found: M39: Meeting are evil and must be replaced by a disciplined process of decision making
YouTube video ODxm7w2DE-g found: #NoSalaries

File /tmp/jgd-EDa/clone/uml/19b92d0465e2e819ffcf88cf46c6e333.svg created (3961 bytes)
YouTube video QMcDa2eyRBY found: Need Robust Software? Make It Fragile
YouTube video nCGBgI1MNwE found: Need It Robust? Make It Fragile!
YouTube video wd-SA1HVmLg found: How Do You Know When Your Product is Ready to be Shipped?
YouTube video ZVn7ufg-tk0 found: Micromanagement (in Russian with English subtitles)
YouTube video 0Jte_LGR5Zk found: M32: Micromanagement happens when tasks are big and motivation is not explicit
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
YouTube video 9j5pq71BS5U found: Software Outsourcing, 10 Years Ahead (in Russian with English subtitles)
YouTube video mHCwlZSlZeU found: Chat Bots are the new UI

File /tmp/jgd-EDa/clone/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg created (3435 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?

File /tmp/jgd-EDa/clone/uml/d103661ebf8494340e260442970bf4af.svg created (4562 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
YouTube video kPmbRkSWYnY found: M130: The root cause of most software problems is the chaos in the code
YouTube video xbovkm0tTn0 found: Talk "MEETING-FREE SOFTWARE DEVELOPMENT, IN DISTRIBUTED TEAMS" by Yegor Bugayenko
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video b6r2W3P9vgY found: Blame the Project
YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
YouTube video Mj1gA5mEk68 found: Unit Testing vs Debugging (webinar #26)
YouTube video af6bidlat6Q found: BB1: Будьте смелее, покажите свое резюме
YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)

File /tmp/jgd-EDa/clone/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg created (4461 bytes)

File /tmp/jgd-EDa/clone/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg created (5502 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-EDa/clone/uml/653125b6c32d12b7325dba52054c09ca.svg created (3495 bytes)

File /tmp/jgd-EDa/clone/uml/cad4de541e1ab10d3d9d751c661fe63f.svg created (3448 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)
33m     Build Warning: Layout 'russian' requested in _posts/2016/nov/2016-11-26-yanukovych-v-president.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/nov/2016-11-28-saakashvili-speaks-ukrainian.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-01-what-is-wrong-about-guns.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-05-who-needs-war.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-08-lustration-in-ukraine.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-12-putin-is-power.md does not exist.0m

File /tmp/jgd-EDa/clone/uml/45d05ab3bd9a93ad88ec209352b62f60.svg created (3225 bytes)
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-15-onishenko-our-hero.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-19-are-you-ashamed-of-voting.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-19-privatbank-nationalization.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-22-what-causes-terrorism.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-26-what-would-you-ask-putin.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-29-who-wants-our-donations.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2016/dec/2016-12-30-tu154-sochi.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-02-ukraine-budget-2017.md does not exist.0m
YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
YouTube video 4i-OK4IA4vA found: M158: Eliminating team conflicts leads to less collaboration, not more
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-05-justice-against-corruption.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-12-will-i-go-to-war.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-16-ukrainian-startups.md does not exist.0m
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-23-consciousness-and-revolution.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jan/2017-01-30-lifetime-imprisonment-for-separatism.md does not exist.0m
YouTube video Wcy53ZSF78o found: Decorating Envelopes in OOP (webinar #31)
33m     Build Warning: Layout 'russian' requested in _posts/2017/feb/2017-02-06-how-to-eliminate-corruption.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/feb/2017-02-20-nationalism-of-the-future.md does not exist.0m
YouTube video ZhWOlaMqppM found: How I didn't get a job at Amazon (in Russian with English subtitles)
33m     Build Warning: Layout 'russian' requested in _posts/2017/mar/2017-03-02-history-of-separatism.md does not exist.0m
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
33m     Build Warning: Layout 'russian' requested in _posts/2017/apr/2017-04-18-dnepr-corruption-item.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/apr/2017-04-24-slaves-of-the-law.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/may/2017-05-15-loyalty.md does not exist.0m
YouTube video 1bAixLaOCSA found: Java Day Minsk 2017 | Yegor Bugayenko - Object Oriented JUnit Tests
YouTube video CCr8hRE_TUs found: Object-Oriented Flavor for JUnit Tests
YouTube video ZdHCrsQsoMI found: M136: Any software product has an unlimited number of bugs
33m     Build Warning: Layout 'russian' requested in _posts/2017/jun/2017-06-29-activists.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/jul/2017-07-27-sabotage-failed.md does not exist.0m
YouTube video Op3EIwhMxrg found: M33: You don't need to be loyal to your employers, use them for your own good!
YouTube video 4ZWHs1mloUw found: RAII in Java (Webinar #52)
YouTube video KYd24FN58wg found: Object-Oriented Java Web App from Scratch in One Hour: ThreeCopies.com (Webinar #28)
YouTube video 7WmsiV22IXM found: Lazy Loading via Java Lambda (Webinar #30)
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2017/oct/2017-10-24-motherland.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/oct/2017-10-30-ukrainian-language.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2017/nov/2017-11-08-crimea.md does not exist.0m
YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
33m     Build Warning: Layout 'russian' requested in _posts/2017/nov/2017-11-22-opposition.md does not exist.0m
YouTube video uhDmHkMAYnM found: Micro-management vs. micro-tasking (webinar #25)
YouTube video tHeXxLdGqqI found: M19: Want to pay-by-result? You have to do microtasking first, otherwise nothing will work.
YouTube video 1rmZN3r5SWg found: M27: Microtasking enables more accurate and precise estimates of a software project's future
33m     Build Warning: Layout 'russian' requested in _posts/2018/jan/2018-01-03-fake-opposition.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2018/jan/2018-01-10-dalles-plan.md does not exist.0m
YouTube video F3bjFXFRsI8 found: M20: Reporting bugs and deciding whether they should be fixed are two separate activities!
YouTube video 55mwAbuDrV8 found: Quality vs. Quantity (in Russian)
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
33m     Build Warning: Layout 'russian' requested in _posts/2018/mar/2018-03-17-putin-election.md does not exist.0m
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video GozQCUH2D0I found: M22: Both full-time hiring and outsourcing will lead your project to failure, Zerocracy won't.
33m     Build Warning: Layout 'russian' requested in _posts/2018/mar/2018-03-25-why-gas.md does not exist.0m
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
YouTube video vXUwE3FGfpg found: #NoAltruism
YouTube video Hrk_Jorc5z4 found: M127: The ability to explain a problem so that it's understood is the most important soft skill
YouTube video -drZbHxydMc found: When do you validate your objects? (Webinar #35)
YouTube video FNWyN_Q10TI found: What's wrong with global variables? (Webinar #36)
YouTube video _ppWQCCT8zE found: M16: You either report bugs or implement features. You can't do any of that? You are out.
YouTube video RNRaVmbWZXI found: M7: Don't be afraid to ask difficult qstns before you get into a partnership, or get ready to lose
YouTube video oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
YouTube video zljJpADEf_E found: M6: Keeping all source code in a single monolithic repository is a terrible idea!
YouTube video 9tC7p2UTLsU found: M5: Professional programmers always need a second opinion, to make sure their code is good enough
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2018/oct/2018-10-07-history-simplification.md does not exist.0m
YouTube video ezE0hRH9BnQ found: M54: Make sure you control your programmers and do it explicitly and openly
YouTube video fVMml2vpP-Y found: M13: A message without a context is unprofessional and very annoying for the listener; don't do it!
YouTube video 2oAW9LmYJI4 found: M8: Since most tech editors have no idea what they are doing, ignore them
YouTube video gMJNz9AWbQE found: M1: Your enthusiasm may only harm the project if you can't deliver it incrementally
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-13-country-as-a-service.md does not exist.0m
YouTube video PYq05UAwzNk found: M2: We must fully trust the architect, but regularly review the decisions he or she is making
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-20-drugs.md does not exist.0m
YouTube video mKZOuJ7AAas found: M30: Pay equality and smaller pay gap mean only one thing: the management is weak
33m     Build Warning: Layout 'russian' requested in _posts/2019/jan/2019-01-28-the-wall.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/feb/2019-02-16-calibrated-democracy.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/feb/2019-02-21-jews-vs-french.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/mar/2019-03-17-terrorism-and-power.md does not exist.0m
YouTube video SoXV_scCMNY found: Logging, the Object-Oriented Way
YouTube video bVzEPOZ_mDU found: A practical example of making an object-oriented HTTP server in Java (webinar #42)
YouTube video Qxvk9z0tEP8 found: M123: One README should be enough for any open source project
33m     Build Warning: Layout 'russian' requested in _posts/2019/apr/2019-04-28-formula-of-happiness.md does not exist.0m
YouTube video WlI6IZ6M7vY found: M74: If your project doesn't have a formal Risk List, you are doing management wrong
YouTube video KPbKqTXfZwA found: M89: Deliver your trust continuously, not discrete
YouTube video _4pk5GNUySg found: M91: Full-timers want to look smart, freelancers want to deliver results
33m     Build Warning: Layout 'russian' requested in _posts/2019/jul/2019-07-07-strong-opinions.md does not exist.0m
YouTube video 5FckPa6aOok found: M193: What is fun and joy for you, being a programmer?
33m     Build Warning: Layout 'russian' requested in _posts/2019/jul/2019-07-31-moscow-protests.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/sep/2019-09-15-revolution-bottom-up.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2019/sep/2019-09-28-what-is-the-point.md does not exist.0m
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
YouTube video eeXdDvIVu-Y found: What Is Cohesion in OOP? (Webinar #49)
33m     Build Warning: Layout 'russian' requested in _posts/2019/dec/2019-12-31-testosterone.md does not exist.0m
YouTube video CmUzNPqCF4s found: M120: Don't wait for your manager to tell you what to do, do what you think is right (open source)

File /tmp/jgd-EDa/clone/uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg created (13459 bytes)

File /tmp/jgd-EDa/clone/uml/930f06f36724929287c1ee82fd95c77b.svg created (8543 bytes)
YouTube video rsWrgxm8ktU found: Fat and Skinny Design (Webinar #51)

File /tmp/jgd-EDa/clone/uml/c415b43f6d14c18e66db32e9d5d6e8b2.svg created (17876 bytes)
33m     Build Warning: Layout 'russian' requested in _posts/2020/mar/2020-03-29-coronavirus.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2020/may/2020-05-02-first-world-hysteria.md does not exist.0m
YouTube video D12gi1x6Cdw found: M105: Open source developers inevitably have better soft and tech skills
YouTube video nErn5G_JHhE found: Veil Objects to Replace DTOs (Webinar #50)
33m     Build Warning: Layout 'russian' requested in _posts/2020/jun/2020-06-12-protesters.md does not exist.0m
YouTube video jjeW1hTtRh0 found: M114: The performance of programmers can be measured, with the right metrics
33m     Build Warning: Layout 'russian' requested in _posts/2020/jul/2020-07-05-silence-doesnt-cure.md does not exist.0m
YouTube video fJvUTlPHSvU found: Encapsulation Is Dead, Let's Use Distance of Coupling Instead (Webinar #55)
YouTube video Yj1VFGK9vqc found: M143: Daily reports are a perfect guilt-triggering instrument for a lazy team
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
33m     Build Warning: Layout 'russian' requested in _posts/2020/nov/2020-11-21-svoboda-and-conflicts.md does not exist.0m
YouTube video WZlIb5oxDBQ found: M152: There is no management without personal responsibility
YouTube video TmAJPeM4UlE found: M153: How managers in self-managing orgs judge your performance?
YouTube video vaFPNdNaOAY found: M160: Traditional top-down planning doesn't work, try better alternative
YouTube video QaKIw1Bh3Oc found: EOLANG: Basics
YouTube video ulrMXmIcC4w found: M167: Sometimes you have to be an imposter, either you like it or not
YouTube video 65baOBHeVMI found: Yegor Bugayenko: Opening
YouTube video dlPk1AE2aQk found: M170: recruiters may do a better job if listen to us programmers
YouTube video 939ntzufGB0 found: M178: Try to focus your team on artifacts and their delivery status
YouTube video 2IwBc9UI4Sg found: SIMBA: Simplified Management by Artifacts (at Merge Conf)
YouTube video Qii3yrQJdHs found: M179: Calibrated Achievement Points (CAP) to measure R&D productivity
YouTube video 8qfd93SyXpM found: SSD 13/16: Test-Driven Development [software design crash course]
YouTube video 4I8BflW7EpU found: M188: I don't think ML will ever be able to write code
YouTube video jiEJnLBowHc found: M190: Make sure the bugs you report explain the simplest possible scenarios
YouTube video Y0Zx_sdVG48 found: M199: Unit tests are the Safety Net that you can't afford to not use
YouTube video C6CQWzOKEJs found: Object Thinking #7: Yegor Bugayenko / Immutability + Generics
33m     Build Warning: Layout 'russian' requested in _posts/2023/aug/2023-08-13-dictators.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2023/aug/2023-08-27-immigration-by-war.md does not exist.0m
YouTube video gHznfuhRR60 found: AIIN'23: Robots vs. Programmers, How soon will computers fire us?
33m     Build Warning: Layout 'russian' requested in _posts/2023/sep/2023-09-17-turbulence.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2023/oct/2023-10-01-individualism-vs-collectivism.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/jan/2024-01-03-not-able-to-speak.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/apr/2024-04-02-kulikovo-pole.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/may/2024-05-27-freedom-of-speech-vs-intelligence.md does not exist.0m
33m     Build Warning: Layout 'russian' requested in _posts/2024/sep/2024-09-21-interpreters-of-chaos.md does not exist.0m
473 AMP pages generated in 37.14s

places.txt generated
tags.txt generated

stats.svg generated
       Jekyll Feed: Generating feed for posts
jekyll-shorts 0.0.10: 473 link(s) generated in 0.01s
jekyll-chatgpt-translate 0.1.0 starting...
The OpenAI API key taken from the file: "/home/r/repo/../chatgpt-key.txt" (51 chars)
No need to translate, the page exists at "/zh/2017/01/17/synchronized-decorators.html" (625 words)
No need to translate, the page exists at "/ru/2017/01/17/synchronized-decorators.html" (1005 words)
No need to translate, the page exists at "/zh/2015/10/06/how-to-be-good-office-slave.html" (633 words)
No need to translate, the page exists at "/ru/2015/10/06/how-to-be-good-office-slave.html" (1976 words)
No need to translate, the page exists at "/zh/2019/10/29/sql-as-a-service.html" (654 words)
No need to translate, the page exists at "/ru/2019/10/29/sql-as-a-service.html" (1193 words)
No need to translate, the page exists at "/zh/2019/07/30/joy-of-programming.html" (634 words)
No need to translate, the page exists at "/ru/2019/07/30/joy-of-programming.html" (1655 words)
No need to translate, the page exists at "/zh/2016/05/24/who-is-project-manager.html&quot; (599 words)
No need to translate, the page exists at "/ru/2016/05/24/who-is-project-manager.html" (1412 words)
No need to translate, the page exists at "/zh/2015/06/08/deadly-sins-software-project.html" (634 words)
No need to translate, the page exists at "/ru/2015/06/08/deadly-sins-software-project.html" (1941 words)
No need to translate, the page exists at "/zh/2017/10/10/streams-vs-decorators.html" (717 words)
No need to translate, the page exists at "/ru/2017/10/10/streams-vs-decorators.html" (1372 words)
No need to translate, the page exists at "/zh/2018/11/20/journalism.html" (624 words)
No need to translate, the page exists at "/ru/2018/11/20/journalism.html" (1048 words)
No need to translate, the page exists at "/zh/2015/01/15/how-to-cut-corners.html" (643 words)
No need to translate, the page exists at "/ru/2015/01/15/how-to-cut-corners.html" (2410 words)
No need to translate, the page exists at "/en/2017/04/18/dnepr-corruption-item.html" (1638 words)
No need to translate, the page exists at "/zh/2017/04/18/dnepr-corruption-item.html" (835 words)
No need to translate, the page exists at "/zh/2016/11/29/eolang.html" (618 words)
No need to translate, the page exists at "/ru/2016/11/29/eolang.html" (763 words)
No need to translate, the page exists at "/zh/2019/09/17/be-unhappy-to-be-happy.html" (656 words)
No need to translate, the page exists at "/ru/2019/09/17/be-unhappy-to-be-happy.html" (1256 words)
No need to translate, the page exists at "/zh/2016/02/03/design-patterns-and-anti-patterns.html" (691 words)
No need to translate, the page exists at "/ru/2016/02/03/design-patterns-and-anti-patterns.html" (1212 words)
No need to translate, the page exists at "/zh/2020/12/01/abstract-objects.html" (704 words)
No need to translate, the page exists at "/ru/2020/12/01/abstract-objects.html" (1060 words)
No need to translate, the page exists at "/zh/2014/08/13/strict-code-quality-control.html" (648 words)
No need to translate, the page exists at "/ru/2014/08/13/strict-code-quality-control.html" (1418 words)
No need to translate, the page exists at "/en/2017/03/02/history-of-separatism.html" (1407 words)
No need to translate, the page exists at "/zh/2017/03/02/history-of-separatism.html" (830 words)
No need to translate, the page exists at "/zh/2014/10/12/who-is-software-architect.html" (615 words)
No need to translate, the page exists at "/ru/2014/10/12/who-is-software-architect.html" (1123 words)
No need to translate, the page exists at "/zh/2023/12/17/how-to-review-research-paper.html" (658 words)
No need to translate, the page exists at "/ru/2023/12/17/how-to-review-research-paper.html" (1122 words)
No need to translate, the page exists at "/zh/2018/10/09/can-you-control-us.html" (639 words)
No need to translate, the page exists at "/ru/2018/10/09/can-you-control-us.html" (1177 words)
No need to translate, the page exists at "/zh/2015/03/29/rultor-with-appveyor.html" (704 words)
No need to translate, the page exists at "/ru/2015/03/29/rultor-with-appveyor.html" (930 words)
No need to translate, the page exists at "/zh/2019/02/03/cloudrepo.html" (711 words)
No need to translate, the page exists at "/ru/2019/02/03/cloudrepo.html" (1251 words)
No need to translate, the page exists at "/zh/2014/11/07/how-immutability-helps.html" (754 words)
No need to translate, the page exists at "/ru/2014/11/07/how-immutability-helps.html" (2080 words)
No need to translate, the page exists at "/en/2019/09/15/revolution-bottom-up.html" (1640 words)
No need to translate, the page exists at "/zh/2019/09/15/revolution-bottom-up.html" (825 words)
No need to translate, the page exists at "/zh/2019/04/09/beg-them.html" (634 words)
No need to translate, the page exists at "/ru/2019/04/09/beg-them.html" (1458 words)
No need to translate, the page exists at "/zh/2022/02/16/ai-coding.html" (623 words)
No need to translate, the page exists at "/ru/2022/02/16/ai-coding.html" (1290 words)
No need to translate, the page exists at "/en/2016/12/12/putin-is-power.html" (1254 words)
No need to translate, the page exists at "/zh/2016/12/12/putin-is-power.html" (815 words)
No need to translate, the page exists at "/zh/2015/10/27/outsourcing-doesnt-work.html" (617 words)
No need to translate, the page exists at "/ru/2015/10/27/outsourcing-doesnt-work.html" (1861 words)
No need to translate, the page exists at "/zh/2015/12/01/rethrow-exceptions.html" (655 words)
No need to translate, the page exists at "/ru/2015/12/01/rethrow-exceptions.html" (1088 words)
No need to translate, the page exists at "/zh/2015/05/18/cookie-based-authentication.html" (743 words)
No need to translate, the page exists at "/ru/2015/05/18/cookie-based-authentication.html" (1592 words)
No need to translate, the page exists at "/zh/2019/02/05/zache.html" (631 words)
No need to translate, the page exists at "/ru/2019/02/05/zache.html" (788 words)
No need to translate, the page exists at "/zh/2016/12/13/mvc-vs-oop.html" (619 words)
No need to translate, the page exists at "/ru/2016/12/13/mvc-vs-oop.html" (973 words)
No need to translate, the page exists at "/zh/2014/10/26/hacker-vs-programmer-mentality.html" (677 words)
No need to translate, the page exists at "/ru/2014/10/26/hacker-vs-programmer-mentality.html" (1476 words)
No need to translate, the page exists at "/zh/2015/09/07/maven-repository-amazon-s3.html" (686 words)
No need to translate, the page exists at "/ru/2015/09/07/maven-repository-amazon-s3.html" (1007 words)
No need to translate, the page exists at "/zh/2017/05/02/remote-slaves.html" (628 words)
No need to translate, the page exists at "/ru/2017/05/02/remote-slaves.html" (1324 words)
No need to translate, the page exists at "/en/2018/03/17/putin-election.html" (2011 words)
No need to translate, the page exists at "/zh/2018/03/17/putin-election.html" (846 words)
No need to translate, the page exists at "/zh/2023/07/19/just-show-up.html" (631 words)
No need to translate, the page exists at "/ru/2023/07/19/just-show-up.html" (1162 words)
No need to translate, the page exists at "/zh/2017/05/30/why-contribute-to-open-source.html" (620 words)
No need to translate, the page exists at "/ru/2017/05/30/why-contribute-to-open-source.html" (1005 words)
No need to translate, the page exists at "/zh/2017/11/14/static-factory-methods.html" (702 words)
No need to translate, the page exists at "/ru/2017/11/14/static-factory-methods.html" (1407 words)
No need to translate, the page exists at "/zh/2015/01/10/windows-appveyor-maven.html" (630 words)
No need to translate, the page exists at "/ru/2015/01/10/windows-appveyor-maven.html" (771 words)
No need to translate, the page exists at "/en/2018/03/25/why-gas.html" (1305 words)
No need to translate, the page exists at "/zh/2018/03/25/why-gas.html" (851 words)
No need to translate, the page exists at "/zh/2017/05/17/single-statement-unit-tests.html" (644 words)
No need to translate, the page exists at "/ru/2017/05/17/single-statement-unit-tests.html" (921 words)
No need to translate, the page exists at "/zh/2016/03/28/unspoken-secrets-of-elevator-pitch.html" (637 words)
No need to translate, the page exists at "/ru/2016/03/28/unspoken-secrets-of-elevator-pitch.html" (1427 words)
No need to translate, the page exists at "/zh/2014/09/10/anti-patterns-in-oop.html" (639 words)
No need to translate, the page exists at "/ru/2014/09/10/anti-patterns-in-oop.html&quot; (667 words)
No need to translate, the page exists at &quot;/zh/2017/08/29/xcop.html&quot; (627 words)
No need to translate, the page exists at &quot;/ru/2017/08/29/xcop.html&quot; (862 words)
No need to translate, the page exists at &quot;/zh/2014/10/03/di-containers-are-evil.html&quot; (674 words)
No need to translate, the page exists at &quot;/ru/2014/10/03/di-containers-are-evil.html&quot; (1206 words)
No need to translate, the page exists at &quot;/en/2016/12/01/what-is-wrong-about-guns.html&quot; (1441 words)
No need to translate, the page exists at &quot;/zh/2016/12/01/what-is-wrong-about-guns.html&quot; (828 words)
No need to translate, the page exists at &quot;/zh/2024/02/06/research-flow.html&quot; (634 words)
No need to translate, the page exists at &quot;/ru/2024/02/06/research-flow.html&quot; (1036 words)
No need to translate, the page exists at "/zh/2014/04/12/puzzle-driven-development-by-roles.html" (633 words)
No need to translate, the page exists at "/ru/2014/04/12/puzzle-driven-development-by-roles.html" (1976 words)
No need to translate, the page exists at "/en/2020/07/05/silence-doesnt-cure.html" (1754 words)
No need to translate, the page exists at "/zh/2020/07/05/silence-doesnt-cure.html" (838 words)
No need to translate, the page exists at "/zh/2021/10/21/objectionary.html" (965 words)
No need to translate, the page exists at "/ru/2021/10/21/objectionary.html" (2464 words)
No need to translate, the page exists at "/zh/2021/08/11/logging-in-unit-tests.html" (636 words)
No need to translate, the page exists at "/ru/2021/08/11/logging-in-unit-tests.html" (1095 words)
No need to translate, the page exists at "/zh/2022/09/08/smaller-try-blocks.html" (625 words)
No need to translate, the page exists at "/ru/2022/09/08/smaller-try-blocks.html" (787 words)
No need to translate, the page exists at "/en/2017/11/22/opposition.html" (1592 words)
No need to translate, the page exists at "/zh/2017/11/22/opposition.html" (816 words)
No need to translate, the page exists at "/zh/2014/07/24/rultor-automated-merging.html" (673 words)
No need to translate, the page exists at "/ru/2014/07/24/rultor-automated-merging.html" (959 words)
No need to translate, the page exists at "/zh/2017/12/05/data-access-object.html" (669 words)
No need to translate, the page exists at "/ru/2017/12/05/data-access-object.html" (1019 words)
No need to translate, the page exists at "/zh/2015/12/22/why-dont-you-contribute-to-open-source.html" (621 words)
No need to translate, the page exists at "/ru/2015/12/22/why-dont-you-contribute-to-open-source.html" (1389 words)
No need to translate, the page exists at "/zh/2019/02/12/silicon-valley-benefits.html" (659 words)
No need to translate, the page exists at "/ru/2019/02/12/silicon-valley-benefits.html" (2052 words)
No need to translate, the page exists at "/zh/2015/01/05/how-to-be-honest-and-keep-customer.html" (640 words)
No need to translate, the page exists at "/ru/2015/01/05/how-to-be-honest-and-keep-customer.html" (2144 words)
No need to translate, the page exists at "/zh/2016/01/26/defensive-programming.html" (642 words)
No need to translate, the page exists at "/ru/2016/01/26/defensive-programming.html" (969 words)
No need to translate, the page exists at "/zh/2014/08/22/art-of-software-testing.html" (641 words)
No need to translate, the page exists at "/ru/2014/08/22/art-of-software-testing.html" (1492 words)
No need to translate, the page exists at "/zh/2019/01/15/what-if-architect-is-wrong.html" (631 words)
No need to translate, the page exists at "/ru/2019/01/15/what-if-architect-is-wrong.html" (1357 words)
No need to translate, the page exists at "/en/2016/12/26/what-would-you-ask-putin.html" (1508 words)
No need to translate, the page exists at "/zh/2016/12/26/what-would-you-ask-putin.html" (882 words)
No need to translate, the page exists at "/zh/2019/01/22/10x-paychecks.html" (638 words)
No need to translate, the page exists at "/ru/2019/01/22/10x-paychecks.html" (1264 words)
No need to translate, the page exists at "/en/2019/01/13/country-as-a-service.html" (1747 words)
No need to translate, the page exists at "/zh/2019/01/13/country-as-a-service.html" (842 words)
No need to translate, the page exists at "/zh/2017/05/16/monikers.html" (641 words)
No need to translate, the page exists at "/ru/2017/05/16/monikers.html" (804 words)
No need to translate, the page exists at "/zh/2019/03/26/jpages.html" (722 words)
No need to translate, the page exists at "/ru/2019/03/26/jpages.html" (1419 words)
No need to translate, the page exists at "/zh/2016/04/08/revenue-may-kill-startup.html" (608 words)
No need to translate, the page exists at "/ru/2016/04/08/revenue-may-kill-startup.html" (1233 words)
No need to translate, the page exists at "/zh/2015/05/25/unit-test-scaffolding.html" (657 words)
No need to translate, the page exists at "/ru/2015/05/25/unit-test-scaffolding.html" (1070 words)
No need to translate, the page exists at "/zh/2022/08/04/code-and-tests-different-pull-requests.html" (631 words)
No need to translate, the page exists at "/ru/2022/08/04/code-and-tests-different-pull-requests.html" (1101 words)
No need to translate, the page exists at "/zh/2014/09/16/getters-and-setters-are-evil.html" (621 words)
No need to translate, the page exists at "/ru/2014/09/16/getters-and-setters-are-evil.html" (1528 words)
No need to translate, the page exists at "/zh/2017/07/18/sexual-harassment.html" (639 words)
No need to translate, the page exists at "/ru/2017/07/18/sexual-harassment.html" (1213 words)
No need to translate, the page exists at "/zh/2020/03/03/prefixed-naming.html" (732 words)
No need to translate, the page exists at "/ru/2020/03/03/prefixed-naming.html" (1224 words)
No need to translate, the page exists at "/zh/2017/02/28/too-many-classes.html" (732 words)
No need to translate, the page exists at "/ru/2017/02/28/too-many-classes.html" (1327 words)
No need to translate, the page exists at "/zh/2014/05/05/oop-alternative-to-utility-classes.html" (815 words)
No need to translate, the page exists at "/ru/2014/05/05/oop-alternative-to-utility-classes.html" (1290 words)
No need to translate, the page exists at "/zh/2015/02/16/it-is-not-a-school.html" (637 words)
No need to translate, the page exists at "/ru/2015/02/16/it-is-not-a-school.html" (1435 words)
No need to translate, the page exists at "/zh/2015/10/01/vertical-horizontal-decorating.html" (624 words)
No need to translate, the page exists at "/ru/2015/10/01/vertical-horizontal-decorating.html" (801 words)
No need to translate, the page exists at "/zh/2016/05/10/keynote-clowns.html" (604 words)
No need to translate, the page exists at "/ru/2016/05/10/keynote-clowns.html" (1155 words)
No need to translate, the page exists at "/zh/2017/04/25/sixnines.html" (673 words)
No need to translate, the page exists at "/ru/2017/04/25/sixnines.html" (951 words)
No need to translate, the page exists at "/zh/2020/11/03/daily-reports.html" (620 words)
No need to translate, the page exists at "/ru/2020/11/03/daily-reports.html" (1439 words)
No need to translate, the page exists at "/zh/2017/01/10/how-to-teach-customers.html" (616 words)
No need to translate, the page exists at "/ru/2017/01/10/how-to-teach-customers.html" (985 words)
No need to translate, the page exists at "/zh/2022/06/05/reflection-means-hidden-coupling.html" (838 words)
No need to translate, the page exists at "/ru/2022/06/05/reflection-means-hidden-coupling.html&quot; (2429 words)
No need to translate, the page exists at &quot;/zh/2016/03/22/try-finally-if-not-null.html&quot; (630 words)
No need to translate, the page exists at &quot;/ru/2016/03/22/try-finally-if-not-null.html&quot; (817 words)
No need to translate, the page exists at &quot;/zh/2016/08/05/distributed-teams-are-higher-quality.html&quot; (623 words)
No need to translate, the page exists at &quot;/ru/2016/08/05/distributed-teams-are-higher-quality.html&quot; (1367 words)
No need to translate, the page exists at &quot;/zh/2019/01/29/dependency-hell.html&quot; (681 words)
No need to translate, the page exists at &quot;/ru/2019/01/29/dependency-hell.html&quot; (1219 words)
No need to translate, the page exists at &quot;/zh/2014/08/25/deploy-to-cloudbees.html&quot; (685 words)
No need to translate, the page exists at "/ru/2014/08/25/deploy-to-cloudbees.html" (1049 words)
No need to translate, the page exists at "/zh/2017/08/22/to-be-nice-or-not.html" (678 words)
No need to translate, the page exists at "/ru/2017/08/22/to-be-nice-or-not.html" (1515 words)
No need to translate, the page exists at "/zh/2016/07/06/data-transfer-object.html" (639 words)
No need to translate, the page exists at "/ru/2016/07/06/data-transfer-object.html" (1004 words)
No need to translate, the page exists at "/zh/2018/08/14/seventy-percent.html" (632 words)
No need to translate, the page exists at "/ru/2018/08/14/seventy-percent.html" (1340 words)
No need to translate, the page exists at "/zh/2023/12/11/results-and-discussion.html" (653 words)
No need to translate, the page exists at "/ru/2023/12/11/results-and-discussion.html" (1117 words)
No need to translate, the page exists at "/zh/2017/09/05/rehttp-http-repeater.html" (619 words)
No need to translate, the page exists at "/ru/2017/09/05/rehttp-http-repeater.html" (877 words)
No need to translate, the page exists at "/zh/2016/03/30/jare-instant-free-cdn.html" (761 words)
No need to translate, the page exists at "/ru/2016/03/30/jare-instant-free-cdn.html" (1831 words)
No need to translate, the page exists at "/zh/2020/10/13/lack-of-problem.html" (617 words)
No need to translate, the page exists at "/ru/2020/10/13/lack-of-problem.html" (1052 words)
No need to translate, the page exists at "/zh/2017/07/11/how-to-redesign-equals.html" (673 words)
No need to translate, the page exists at "/ru/2017/07/11/how-to-redesign-equals.html" (981 words)
No need to translate, the page exists at "/en/2019/01/20/drugs.html" (1867 words)
No need to translate, the page exists at "/zh/2019/01/20/drugs.html" (850 words)
No need to translate, the page exists at "/zh/2015/12/29/turnover-is-good-for-maintainability.html" (640 words)
No need to translate, the page exists at "/ru/2015/12/29/turnover-is-good-for-maintainability.html" (1217 words)
No need to translate, the page exists at "/zh/2014/04/20/how-hourly-rate-is-calculated.html" (632 words)
No need to translate, the page exists at "/ru/2014/04/20/how-hourly-rate-is-calculated.html" (1317 words)
No need to translate, the page exists at "/zh/2018/06/26/are-you-an-architect.html" (673 words)
No need to translate, the page exists at "/ru/2018/06/26/are-you-an-architect.html" (2105 words)
No need to translate, the page exists at "/en/2016/12/29/who-wants-our-donations.html" (1364 words)
No need to translate, the page exists at "/zh/2016/12/29/who-wants-our-donations.html" (823 words)
No need to translate, the page exists at "/en/2017/07/27/sabotage-failed.html" (1217 words)
No need to translate, the page exists at "/zh/2017/07/27/sabotage-failed.html" (816 words)
No need to translate, the page exists at "/zh/2021/04/14/how-we-organized-iccq.html" (732 words)
No need to translate, the page exists at "/ru/2021/04/14/how-we-organized-iccq.html" (2031 words)
No need to translate, the page exists at "/zh/2022/08/10/xsline-immutable-pipeline.html" (753 words)
No need to translate, the page exists at "/ru/2022/08/10/xsline-immutable-pipeline.html" (1185 words)
No need to translate, the page exists at "/zh/2018/03/21/zerocracy-announcement.html" (658 words)
No need to translate, the page exists at "/ru/2018/03/21/zerocracy-announcement.html" (1389 words)
No need to translate, the page exists at "/zh/2015/03/26/jaxb-vs-xembly.html" (645 words)
No need to translate, the page exists at "/ru/2015/03/26/jaxb-vs-xembly.html" (962 words)
No need to translate, the page exists at "/zh/2014/11/24/principles-of-bug-tracking.html" (638 words)
No need to translate, the page exists at "/ru/2014/11/24/principles-of-bug-tracking.html" (2046 words)
No need to translate, the page exists at "/zh/2014/04/15/definition-of-done.html" (605 words)
No need to translate, the page exists at "/ru/2014/04/15/definition-of-done.html" (842 words)
No need to translate, the page exists at "/zh/2015/07/28/checked-vs-unchecked-exceptions.html" (679 words)
No need to translate, the page exists at "/ru/2015/07/28/checked-vs-unchecked-exceptions.html" (1793 words)
No need to translate, the page exists at "/zh/2018/04/24/right-way-to-report-bugs.html" (625 words)
No need to translate, the page exists at "/ru/2018/04/24/right-way-to-report-bugs.html" (1117 words)
No need to translate, the page exists at "/zh/2015/07/06/public-static-literals.html" (688 words)
No need to translate, the page exists at "/ru/2015/07/06/public-static-literals.html" (1164 words)
No need to translate, the page exists at "/zh/2021/03/03/imposters-to-win.html" (612 words)
No need to translate, the page exists at "/ru/2021/03/03/imposters-to-win.html" (1136 words)
No need to translate, the page exists at "/en/2019/02/21/jews-vs-french.html" (1595 words)
No need to translate, the page exists at "/zh/2019/02/21/jews-vs-french.html" (842 words)
No need to translate, the page exists at "/zh/2014/06/24/jekyll-github-deploy.html" (650 words)
No need to translate, the page exists at "/ru/2014/06/24/jekyll-github-deploy.html" (769 words)
No need to translate, the page exists at "/zh/2022/06/14/principle-of-one.html" (631 words)
No need to translate, the page exists at "/ru/2022/06/14/principle-of-one.html" (865 words)
No need to translate, the page exists at "/zh/2022/03/29/bugs-occam-razor.html" (623 words)
No need to translate, the page exists at "/ru/2022/03/29/bugs-occam-razor.html" (906 words)
No need to translate, the page exists at "/zh/2014/08/19/how-to-release-to-maven-central.html" (734 words)
No need to translate, the page exists at "/ru/2014/08/19/how-to-release-to-maven-central.html" (1203 words)
No need to translate, the page exists at "/zh/2019/05/28/trust-or-not.html" (669 words)
No need to translate, the page exists at "/ru/2019/05/28/trust-or-not.html" (1356 words)
No need to translate, the page exists at "/zh/2017/09/12/evil-object-name-suffix-client.html" (691 words)
No need to translate, the page exists at "/ru/2017/09/12/evil-object-name-suffix-client.html" (1222 words)
No need to translate, the page exists at "/en/2017/02/20/nationalism-of-the-future.html" (1847 words)
No need to translate, the page exists at "/zh/2017/02/20/nationalism-of-the-future.html" (833 words)
No need to translate, the page exists at "/zh/2015/04/22/favorite-software-books.html" (690 words)
No need to translate, the page exists at "/ru/2015/04/22/favorite-software-books.html" (1334 words)
No need to translate, the page exists at "/zh/2023/08/01/method-overloading.html" (637 words)
No need to translate, the page exists at &quot;/ru/2023/08/01/method-overloading.html&quot; (1139 words)
No need to translate, the page exists at &quot;/zh/2020/10/27/distance-of-coupling.html&quot; (660 words)
No need to translate, the page exists at &quot;/ru/2020/10/27/distance-of-coupling.html&quot; (1371 words)
No need to translate, the page exists at &quot;/zh/2014/09/09/restful-web-sites.html&quot; (684 words)
No need to translate, the page exists at &quot;/ru/2014/09/09/restful-web-sites.html&quot; (1292 words)
No need to translate, the page exists at &quot;/zh/2017/11/28/microtasking.html&quot; (621 words)
No need to translate, the page exists at &quot;/ru/2017/11/28/microtasking.html&quot; (2339 words)
No need to translate, the page exists at &quot;/zh/2015/07/13/meetings-are-legalized-robbery.html&quot; (597 words)
No need to translate, the page exists at "/ru/2015/07/13/meetings-are-legalized-robbery.html" (2392 words)
No need to translate, the page exists at "/zh/2018/11/27/you-can-do-better.html" (653 words)
No need to translate, the page exists at "/ru/2018/11/27/you-can-do-better.html" (1621 words)
No need to translate, the page exists at "/zh/2024/04/01/ping-me-please.html" (587 words)
No need to translate, the page exists at "/ru/2024/04/01/ping-me-please.html" (819 words)
No need to translate, the page exists at "/zh/2023/09/29/how-to-write-related-work-section.html" (707 words)
No need to translate, the page exists at "/ru/2023/09/29/how-to-write-related-work-section.html" (1095 words)
No need to translate, the page exists at "/zh/2015/02/05/jcabi-parent-maven-pom.html" (634 words)
No need to translate, the page exists at "/ru/2015/02/05/jcabi-parent-maven-pom.html" (928 words)
No need to translate, the page exists at "/zh/2015/04/30/iterating-adapter.html" (633 words)
No need to translate, the page exists at "/ru/2015/04/30/iterating-adapter.html" (788 words)
No need to translate, the page exists at "/zh/2016/07/26/active-record.html" (641 words)
No need to translate, the page exists at "/ru/2016/07/26/active-record.html" (975 words)
No need to translate, the page exists at "/zh/2015/11/10/ten-mistakes-in-specs.html" (648 words)
No need to translate, the page exists at "/ru/2015/11/10/ten-mistakes-in-specs.html" (2587 words)
No need to translate, the page exists at "/zh/2014/04/26/incremental-requirements-with-requs.html" (658 words)
No need to translate, the page exists at "/ru/2014/04/26/incremental-requirements-with-requs.html" (1509 words)
No need to translate, the page exists at "/zh/2016/08/23/communication-maturity.html" (614 words)
No need to translate, the page exists at "/ru/2016/08/23/communication-maturity.html" (1068 words)
No need to translate, the page exists at "/zh/2017/04/05/pdd-in-action.html" (623 words)
No need to translate, the page exists at "/ru/2017/04/05/pdd-in-action.html" (926 words)
No need to translate, the page exists at "/zh/2023/11/22/avoid-line-breaks-inside-paragrap.html" (619 words)
No need to translate, the page exists at "/ru/2023/11/22/avoid-line-breaks-inside-paragrap.html" (783 words)
No need to translate, the page exists at "/en/2019/07/31/moscow-protests.html" (1732 words)
No need to translate, the page exists at "/zh/2019/07/31/moscow-protests.html" (845 words)
No need to translate, the page exists at "/zh/2014/06/29/custom-lexer-in-jekyll.html" (611 words)
No need to translate, the page exists at "/ru/2014/06/29/custom-lexer-in-jekyll.html" (660 words)
No need to translate, the page exists at "/en/2016/11/28/saakashvili-speaks-ukrainian.html" (1184 words)
No need to translate, the page exists at "/zh/2016/11/28/saakashvili-speaks-ukrainian.html" (815 words)
No need to translate, the page exists at "/zh/2019/03/28/cost-of-zerocrat.html" (878 words)
No need to translate, the page exists at "/ru/2019/03/28/cost-of-zerocrat.html" (1307 words)
No need to translate, the page exists at "/zh/2016/12/20/can-objects-be-friends.html" (646 words)
No need to translate, the page exists at "/ru/2016/12/20/can-objects-be-friends.html" (940 words)
No need to translate, the page exists at "/zh/2014/09/22/remote-programming-interview.html" (649 words)
No need to translate, the page exists at "/ru/2014/09/22/remote-programming-interview.html" (791 words)
No need to translate, the page exists at "/en/2016/11/26/yanukovych-v-president.html" (1142 words)
No need to translate, the page exists at "/zh/2016/11/26/yanukovych-v-president.html" (833 words)
No need to translate, the page exists at "/zh/2014/05/18/cloud-autoincrement-counters.html" (620 words)
No need to translate, the page exists at "/ru/2014/05/18/cloud-autoincrement-counters.html" (897 words)
No need to translate, the page exists at "/zh/2017/04/18/no-help-via-email.html" (615 words)
No need to translate, the page exists at "/ru/2017/04/18/no-help-via-email.html" (852 words)
No need to translate, the page exists at "/zh/2020/05/13/career-killer.html" (632 words)
No need to translate, the page exists at "/ru/2020/05/13/career-killer.html" (1258 words)
No need to translate, the page exists at "/zh/2019/05/21/dont-improvise.html" (638 words)
No need to translate, the page exists at "/ru/2019/05/21/dont-improvise.html" (1452 words)
No need to translate, the page exists at "/zh/2016/05/03/test-methods-must-share-nothing.html" (654 words)
No need to translate, the page exists at "/ru/2016/05/03/test-methods-must-share-nothing.html" (1225 words)
No need to translate, the page exists at "/zh/2018/04/17/how-to-be-lazy.html" (659 words)
No need to translate, the page exists at "/ru/2018/04/17/how-to-be-lazy.html" (1503 words)
No need to translate, the page exists at "/zh/2015/01/08/morning-standup-meetings.html" (646 words)
No need to translate, the page exists at "/ru/2015/01/08/morning-standup-meetings.html" (2408 words)
No need to translate, the page exists at "/zh/2014/04/27/typical-mistakes-in-java-code.html" (696 words)
No need to translate, the page exists at "/ru/2014/04/27/typical-mistakes-in-java-code.html" (1625 words)
No need to translate, the page exists at "/zh/2013/12/29/proto.html" (760 words)
No need to translate, the page exists at "/ru/2013/12/29/proto.html" (1000 words)
No need to translate, the page exists at "/zh/2014/09/13/deploying-to-heroku.html" (658 words)
No need to translate, the page exists at "/ru/2014/09/13/deploying-to-heroku.html" (934 words)
No need to translate, the page exists at "/zh/2016/04/12/java-annotations-are-evil.html" (680 words)
No need to translate, the page exists at "/ru/2016/04/12/java-annotations-are-evil.html" (1417 words)
No need to translate, the page exists at "/zh/2019/09/03/injection-of-guilt.html" (626 words)
No need to translate, the page exists at "/ru/2019/09/03/injection-of-guilt.html" (1594 words)
No need to translate, the page exists at "/zh/2016/11/21/naked-data.html" (633 words)
No need to translate, the page exists at "/ru/2016/11/21/naked-data.html" (1036 words)
No need to translate, the page exists at "/zh/2014/06/20/limit-method-execution-time.html" (631 words)
No need to translate, the page exists at "/ru/2014/06/20/limit-method-execution-time.html" (899 words)
No need to translate, the page exists at "/zh/2020/02/19/fat-skinny-design.html" (751 words)
No need to translate, the page exists at "/ru/2020/02/19/fat-skinny-design.html" (1342 words)
No need to translate, the page exists at "/zh/2014/04/13/bugs-are-welcome.html" (621 words)
No need to translate, the page exists at "/ru/2014/04/13/bugs-are-welcome.html&quot; (1058 words)
No need to translate, the page exists at &quot;/zh/2016/04/19/object-must-not-be-configurable.html&quot; (667 words)
No need to translate, the page exists at &quot;/ru/2016/04/19/object-must-not-be-configurable.html&quot; (1200 words)
No need to translate, the page exists at &quot;/en/2024/09/21/interpreters-of-chaos.html&quot; (1609 words)
No need to translate, the page exists at &quot;/zh/2024/09/21/interpreters-of-chaos.html&quot; (842 words)
No need to translate, the page exists at &quot;/zh/2023/01/19/layout-of-tests.html&quot; (724 words)
No need to translate, the page exists at &quot;/ru/2023/01/19/layout-of-tests.html&quot; (2104 words)
No need to translate, the page exists at &quot;/zh/2015/02/26/composable-decorators.html&quot; (690 words)
No need to translate, the page exists at "/ru/2015/02/26/composable-decorators.html" (1128 words)
No need to translate, the page exists at "/zh/2016/09/27/command-control-innovate.html" (626 words)
No need to translate, the page exists at "/ru/2016/09/27/command-control-innovate.html" (1158 words)
No need to translate, the page exists at "/zh/2018/09/18/fear-of-coupling.html" (679 words)
No need to translate, the page exists at "/ru/2018/09/18/fear-of-coupling.html" (1466 words)
No need to translate, the page exists at "/zh/2014/05/14/object-oriented-github-java-sdk.html" (779 words)
No need to translate, the page exists at "/ru/2014/05/14/object-oriented-github-java-sdk.html" (1100 words)
No need to translate, the page exists at "/zh/2015/11/21/ringelmann-effect-vs-agile.html" (622 words)
No need to translate, the page exists at "/ru/2015/11/21/ringelmann-effect-vs-agile.html" (967 words)
No need to translate, the page exists at "/en/2020/11/21/svoboda-and-conflicts.html" (1701 words)
No need to translate, the page exists at "/zh/2020/11/21/svoboda-and-conflicts.html" (836 words)
No need to translate, the page exists at "/zh/2014/07/20/liquibase-in-maven.html" (648 words)
No need to translate, the page exists at "/ru/2014/07/20/liquibase-in-maven.html" (977 words)
No need to translate, the page exists at "/zh/2015/06/02/how-to-estimate-software-cost.html" (614 words)
No need to translate, the page exists at "/ru/2015/06/02/how-to-estimate-software-cost.html" (1478 words)
No need to translate, the page exists at "/zh/2015/02/09/serious-code-reviewer.html" (663 words)
No need to translate, the page exists at "/ru/2015/02/09/serious-code-reviewer.html" (2091 words)
No need to translate, the page exists at "/zh/2018/02/13/micro-vesting.html" (629 words)
No need to translate, the page exists at "/ru/2018/02/13/micro-vesting.html" (1058 words)
No need to translate, the page exists at "/zh/2016/02/18/holacracy-autocracy.html" (609 words)
No need to translate, the page exists at "/ru/2016/02/18/holacracy-autocracy.html" (1090 words)
No need to translate, the page exists at "/zh/2015/11/16/json-vs-xml.html" (675 words)
No need to translate, the page exists at "/ru/2015/11/16/json-vs-xml.html" (1387 words)
No need to translate, the page exists at "/zh/2015/02/12/top-down-design.html" (628 words)
No need to translate, the page exists at "/ru/2015/02/12/top-down-design.html" (1179 words)
No need to translate, the page exists at "/zh/2016/03/15/wring-dispatcher-github-notifications.html" (615 words)
No need to translate, the page exists at "/ru/2016/03/15/wring-dispatcher-github-notifications.html" (919 words)
No need to translate, the page exists at "/zh/2019/12/31/talented-programmers.html" (681 words)
No need to translate, the page exists at "/ru/2019/12/31/talented-programmers.html" (1363 words)
No need to translate, the page exists at "/en/2018/01/10/dalles-plan.html" (1300 words)
No need to translate, the page exists at "/zh/2018/01/10/dalles-plan.html" (843 words)
No need to translate, the page exists at "/zh/2017/08/15/bitcoin-pyramid.html" (623 words)
No need to translate, the page exists at "/ru/2017/08/15/bitcoin-pyramid.html" (1167 words)
No need to translate, the page exists at "/zh/2019/06/19/how-much-they-suffer.html" (639 words)
No need to translate, the page exists at "/ru/2019/06/19/how-much-they-suffer.html" (1329 words)
No need to translate, the page exists at "/zh/2015/02/02/xsl-transformations-in-java.html" (623 words)
No need to translate, the page exists at "/ru/2015/02/02/xsl-transformations-in-java.html" (932 words)
No need to translate, the page exists at "/en/2017/01/30/lifetime-imprisonment-for-separatism.html" (1304 words)
No need to translate, the page exists at "/zh/2017/01/30/lifetime-imprisonment-for-separatism.html" (830 words)
No need to translate, the page exists at "/zh/2023/08/22/fast-vs-deep-testing.html" (638 words)
No need to translate, the page exists at "/ru/2023/08/22/fast-vs-deep-testing.html" (1357 words)
No need to translate, the page exists at "/en/2017/02/06/how-to-eliminate-corruption.html" (1524 words)
No need to translate, the page exists at "/zh/2017/02/06/how-to-eliminate-corruption.html" (823 words)
No need to translate, the page exists at "/zh/2015/05/11/software-architect-responsibilities.html" (617 words)
No need to translate, the page exists at "/ru/2015/05/11/software-architect-responsibilities.html" (1078 words)
No need to translate, the page exists at "/zh/2015/10/13/competition-without-rules.html" (623 words)
No need to translate, the page exists at "/ru/2015/10/13/competition-without-rules.html" (977 words)
No need to translate, the page exists at "/zh/2021/02/02/greed-based-planning.html" (613 words)
No need to translate, the page exists at "/ru/2021/02/02/greed-based-planning.html" (1048 words)
No need to translate, the page exists at "/en/2016/12/05/who-needs-war.html" (1428 words)
No need to translate, the page exists at "/zh/2016/12/05/who-needs-war.html" (833 words)
No need to translate, the page exists at "/zh/2016/07/14/who-is-object.html" (644 words)
No need to translate, the page exists at "/ru/2016/07/14/who-is-object.html" (1394 words)
No need to translate, the page exists at "/zh/2014/09/24/why-monetary-awards-dont-work.html" (626 words)
No need to translate, the page exists at "/ru/2014/09/24/why-monetary-awards-dont-work.html" (1274 words)
No need to translate, the page exists at "/zh/2019/09/10/how-to-motivate-kids-to-code.html" (644 words)
No need to translate, the page exists at "/ru/2019/09/10/how-to-motivate-kids-to-code.html" (1317 words)
No need to translate, the page exists at "/zh/2016/12/06/how-to-pay-programmers-less.html" (633 words)
No need to translate, the page exists at "/ru/2016/12/06/how-to-pay-programmers-less.html" (1447 words)
No need to translate, the page exists at "/zh/2014/10/20/how-we-write-product-vision.html" (654 words)
No need to translate, the page exists at "/ru/2014/10/20/how-we-write-product-vision.html" (1638 words)
No need to translate, the page exists at "/zh/2019/04/17/nutch-from-java.html" (720 words)
No need to translate, the page exists at "/ru/2019/04/17/nutch-from-java.html" (1076 words)
No need to translate, the page exists at "/zh/2014/10/08/continuous-integration-is-dead.html" (631 words)
No need to translate, the page exists at "/ru/2014/10/08/continuous-integration-is-dead.html" (1373 words)
No need to translate, the page exists at "/en/2023/08/27/immigration-by-war.html" (1410 words)
No need to translate, the page exists at "/zh/2023/08/27/immigration-by-war.html" (831 words)
No need to translate, the page exists at &quot;/zh/2014/04/21/s3-http-basic-auth.html&quot; (718 words)
No need to translate, the page exists at &quot;/ru/2014/04/21/s3-http-basic-auth.html&quot; (1395 words)
No need to translate, the page exists at &quot;/zh/2014/12/18/independent-technical-reviews.html&quot; (611 words)
No need to translate, the page exists at &quot;/ru/2014/12/18/independent-technical-reviews.html&quot; (1461 words)
No need to translate, the page exists at &quot;/zh/2015/10/17/award-2016.html&quot; (1432 words)
No need to translate, the page exists at &quot;/ru/2015/10/17/award-2016.html&quot; (2118 words)
No need to translate, the page exists at &quot;/zh/2017/01/31/decorating-envelopes.html&quot; (699 words)
No need to translate, the page exists at &quot;/ru/2017/01/31/decorating-envelopes.html&quot; (872 words)
No need to translate, the page exists at "/zh/2017/09/26/threecopies-server-data-backup.html" (622 words)
No need to translate, the page exists at "/ru/2017/09/26/threecopies-server-data-backup.html" (1145 words)
No need to translate, the page exists at "/zh/2019/05/07/sibit-bitcoin-command-line-client.html" (675 words)
No need to translate, the page exists at "/ru/2019/05/07/sibit-bitcoin-command-line-client.html" (1597 words)
No need to translate, the page exists at "/en/2016/12/19/are-you-ashamed-of-voting.html" (1065 words)
No need to translate, the page exists at "/zh/2016/12/19/are-you-ashamed-of-voting.html" (829 words)
No need to translate, the page exists at "/zh/2015/01/12/compound-name-is-code-smell.html" (679 words)
No need to translate, the page exists at "/ru/2015/01/12/compound-name-is-code-smell.html" (984 words)
No need to translate, the page exists at "/zh/2016/06/03/conference-mistakes.html" (618 words)
No need to translate, the page exists at "/ru/2016/06/03/conference-mistakes.html" (1399 words)
No need to translate, the page exists at "/zh/2014/05/26/amazon-s3-java-oop-adapter.html" (707 words)
No need to translate, the page exists at "/ru/2014/05/26/amazon-s3-java-oop-adapter.html" (1127 words)
No need to translate, the page exists at "/zh/2020/05/05/open-source-arms-race.html" (676 words)
No need to translate, the page exists at "/ru/2020/05/05/open-source-arms-race.html" (1349 words)
No need to translate, the page exists at "/en/2020/06/12/protesters.html" (1498 words)
No need to translate, the page exists at "/zh/2020/06/12/protesters.html" (832 words)
No need to translate, the page exists at "/zh/2017/03/24/tdd-that-works.html" (677 words)
No need to translate, the page exists at "/ru/2017/03/24/tdd-that-works.html" (1538 words)
No need to translate, the page exists at "/zh/2018/03/13/fluent-interfaces.html" (660 words)
No need to translate, the page exists at "/ru/2018/03/13/fluent-interfaces.html" (1363 words)
No need to translate, the page exists at "/zh/2018/09/07/what-is-speed.html" (872 words)
No need to translate, the page exists at "/ru/2018/09/07/what-is-speed.html" (1464 words)
No need to translate, the page exists at "/zh/2015/06/18/good-programmers-bug-free.html" (635 words)
No need to translate, the page exists at "/ru/2015/06/18/good-programmers-bug-free.html" (1066 words)
No need to translate, the page exists at "/zh/2018/02/06/where-to-find-more-bugs.html" (621 words)
No need to translate, the page exists at "/ru/2018/02/06/where-to-find-more-bugs.html" (954 words)
No need to translate, the page exists at "/zh/2016/07/11/mistakes-in-agile-manifesto.html" (640 words)
No need to translate, the page exists at "/ru/2016/07/11/mistakes-in-agile-manifesto.html" (1254 words)
No need to translate, the page exists at "/zh/2024/06/23/medals-to-win.html" (907 words)
No need to translate, the page exists at "/ru/2024/06/23/medals-to-win.html" (1310 words)
No need to translate, the page exists at "/zh/2015/05/07/ctors-must-be-code-free.html" (658 words)
No need to translate, the page exists at "/ru/2015/05/07/ctors-must-be-code-free.html" (1179 words)
No need to translate, the page exists at "/zh/2017/12/26/software-quality-formula.html" (646 words)
No need to translate, the page exists at "/ru/2017/12/26/software-quality-formula.html" (993 words)
No need to translate, the page exists at "/en/2016/12/08/lustration-in-ukraine.html" (1333 words)
No need to translate, the page exists at "/zh/2016/12/08/lustration-in-ukraine.html" (821 words)
No need to translate, the page exists at "/zh/2014/07/31/travis-and-rultor.html" (749 words)
No need to translate, the page exists at "/ru/2014/07/31/travis-and-rultor.html" (1392 words)
No need to translate, the page exists at "/zh/2020/06/23/individual-performance-metrics.html" (700 words)
No need to translate, the page exists at "/ru/2020/06/23/individual-performance-metrics.html" (1575 words)
No need to translate, the page exists at "/zh/2014/04/15/github-guidelines.html" (617 words)
No need to translate, the page exists at "/ru/2014/04/15/github-guidelines.html" (1370 words)
No need to translate, the page exists at "/zh/2019/11/05/revolutionary-evolution.html" (607 words)
No need to translate, the page exists at "/ru/2019/11/05/revolutionary-evolution.html" (1481 words)
No need to translate, the page exists at "/zh/2019/03/29/concerns.html" (868 words)
No need to translate, the page exists at "/ru/2019/03/29/concerns.html" (1334 words)
No need to translate, the page exists at "/zh/2015/04/02/class-casting-is-anti-pattern.html" (721 words)
No need to translate, the page exists at "/ru/2015/04/02/class-casting-is-anti-pattern.html" (1201 words)
No need to translate, the page exists at "/zh/2014/09/02/java-ssh-client.html" (846 words)
No need to translate, the page exists at "/ru/2014/09/02/java-ssh-client.html" (939 words)
No need to translate, the page exists at "/zh/2017/10/03/java9.html" (830 words)
No need to translate, the page exists at "/ru/2017/10/03/java9.html" (1640 words)
No need to translate, the page exists at "/zh/2014/09/23/built-in-fake-objects.html" (690 words)
No need to translate, the page exists at "/ru/2014/09/23/built-in-fake-objects.html" (1131 words)
No need to translate, the page exists at "/zh/2022/07/05/safety-net.html" (661 words)
No need to translate, the page exists at "/ru/2022/07/05/safety-net.html" (1195 words)
No need to translate, the page exists at "/zh/2017/07/04/sexism.html" (642 words)
No need to translate, the page exists at "/ru/2017/07/04/sexism.html" (1247 words)
No need to translate, the page exists at "/zh/2019/09/27/parsing-and-printing.html" (714 words)
No need to translate, the page exists at "/ru/2019/09/27/parsing-and-printing.html" (1340 words)
No need to translate, the page exists at "/zh/2014/04/06/phandom.html" (665 words)
No need to translate, the page exists at "/ru/2014/04/06/phandom.html" (1005 words)
No need to translate, the page exists at "/zh/2020/05/19/veil-objects.html" (684 words)
No need to translate, the page exists at "/ru/2020/05/19/veil-objects.html" (1070 words)
No need to translate, the page exists at "/zh/2018/02/27/parsing-objects.html" (647 words)
No need to translate, the page exists at "/ru/2018/02/27/parsing-objects.html" (905 words)
No need to translate, the page exists at "/zh/2025/04/12/four-builds.html" (953 words)
No need to translate, the page exists at "/ru/2025/04/12/four-builds.html" (1759 words)
No need to translate, the page exists at "/zh/2017/10/17/lazy-loading-caching-sticky-cactoos.html" (687 words)
No need to translate, the page exists at &quot;/ru/2017/10/17/lazy-loading-caching-sticky-cactoos.html&quot; (1153 words)
No need to translate, the page exists at &quot;/zh/2017/05/23/unlimited-number-of-bugs.html&quot; (644 words)
No need to translate, the page exists at &quot;/ru/2017/05/23/unlimited-number-of-bugs.html&quot; (993 words)
No need to translate, the page exists at &quot;/zh/2014/10/29/how-much-do-you-cost.html&quot; (621 words)
No need to translate, the page exists at &quot;/ru/2014/10/29/how-much-do-you-cost.html&quot; (2905 words)
No need to translate, the page exists at &quot;/zh/2018/10/30/mailanes.html&quot; (654 words)
No need to translate, the page exists at &quot;/ru/2018/10/30/mailanes.html&quot; (1150 words)
No need to translate, the page exists at &quot;/zh/2017/08/01/how-to-manage-a-manager.html&quot; (622 words)
No need to translate, the page exists at "/ru/2017/08/01/how-to-manage-a-manager.html" (1516 words)
No need to translate, the page exists at "/zh/2014/05/01/dynamodb-local-maven-plugin.html" (696 words)
No need to translate, the page exists at "/ru/2014/05/01/dynamodb-local-maven-plugin.html" (952 words)
No need to translate, the page exists at "/zh/2014/04/28/xml-xpath-hamcrest-matchers.html" (678 words)
No need to translate, the page exists at "/ru/2014/04/28/xml-xpath-hamcrest-matchers.html" (882 words)
No need to translate, the page exists at "/zh/2019/07/10/inversive-management.html" (634 words)
No need to translate, the page exists at "/ru/2019/07/10/inversive-management.html" (1300 words)
No need to translate, the page exists at "/zh/2017/11/21/trust-pay-lose.html" (633 words)
No need to translate, the page exists at "/ru/2017/11/21/trust-pay-lose.html" (996 words)
No need to translate, the page exists at "/zh/2019/01/01/hazardous-enthusiasm.html" (618 words)
No need to translate, the page exists at "/ru/2019/01/01/hazardous-enthusiasm.html" (1160 words)
No need to translate, the page exists at "/zh/2014/07/29/docker-in-rultor.html" (662 words)
No need to translate, the page exists at "/ru/2014/07/29/docker-in-rultor.html" (1210 words)
No need to translate, the page exists at "/en/2017/10/30/ukrainian-language.html" (2148 words)
No need to translate, the page exists at "/zh/2017/10/30/ukrainian-language.html" (819 words)
No need to translate, the page exists at "/zh/2014/10/07/stop-chatting-start-coding.html" (609 words)
No need to translate, the page exists at "/ru/2014/10/07/stop-chatting-start-coding.html" (1007 words)
No need to translate, the page exists at "/zh/2023/08/29/ai-for-software-engineering.html" (606 words)
No need to translate, the page exists at "/ru/2023/08/29/ai-for-software-engineering.html" (1461 words)
No need to translate, the page exists at "/en/2016/12/22/what-causes-terrorism.html" (1539 words)
No need to translate, the page exists at "/zh/2016/12/22/what-causes-terrorism.html" (856 words)
No need to translate, the page exists at "/zh/2015/07/21/hourly-pay-modern-slavery.html" (645 words)
No need to translate, the page exists at "/ru/2015/07/21/hourly-pay-modern-slavery.html" (1125 words)
No need to translate, the page exists at "/zh/2018/08/22/builders-and-manipulators.html" (648 words)
No need to translate, the page exists at "/ru/2018/08/22/builders-and-manipulators.html" (1270 words)
No need to translate, the page exists at "/zh/2016/04/05/printers-instead-of-getters.html" (627 words)
No need to translate, the page exists at "/ru/2016/04/05/printers-instead-of-getters.html" (1150 words)
No need to translate, the page exists at "/zh/2014/05/13/why-null-is-bad.html" (775 words)
No need to translate, the page exists at "/ru/2014/05/13/why-null-is-bad.html" (1605 words)
No need to translate, the page exists at "/zh/2017/03/28/solid.html" (656 words)
No need to translate, the page exists at "/ru/2017/03/28/solid.html" (1271 words)
No need to translate, the page exists at "/zh/2020/11/15/award-2021.html" (618 words)
No need to translate, the page exists at "/ru/2020/11/15/award-2021.html" (886 words)
No need to translate, the page exists at "/en/2016/12/19/privatbank-nationalization.html" (1255 words)
No need to translate, the page exists at "/zh/2016/12/19/privatbank-nationalization.html" (835 words)
No need to translate, the page exists at "/en/2017/11/08/crimea.html" (1542 words)
No need to translate, the page exists at "/zh/2017/11/08/crimea.html" (844 words)
No need to translate, the page exists at "/zh/2014/04/11/jcabi-http-intro.html" (696 words)
No need to translate, the page exists at "/ru/2014/04/11/jcabi-http-intro.html" (1081 words)
No need to translate, the page exists at "/en/2016/12/30/tu154-sochi.html" (1323 words)
No need to translate, the page exists at "/zh/2016/12/30/tu154-sochi.html" (818 words)
No need to translate, the page exists at "/zh/2023/07/25/contribute-disabled-tests.html" (662 words)
No need to translate, the page exists at "/ru/2023/07/25/contribute-disabled-tests.html" (972 words)
No need to translate, the page exists at "/zh/2015/04/13/tacit-css-framework-for-dummies.html" (617 words)
No need to translate, the page exists at "/ru/2015/04/13/tacit-css-framework-for-dummies.html" (924 words)
No need to translate, the page exists at "/zh/2014/08/18/fluent-jdbc-decorator.html" (651 words)
No need to translate, the page exists at "/ru/2014/08/18/fluent-jdbc-decorator.html" (865 words)
No need to translate, the page exists at "/en/2017/05/15/loyalty.html" (1118 words)
No need to translate, the page exists at "/zh/2017/05/15/loyalty.html" (823 words)
No need to translate, the page exists at "/zh/2015/05/28/one-primary-constructor.html" (611 words)
No need to translate, the page exists at "/ru/2015/05/28/one-primary-constructor.html" (793 words)
No need to translate, the page exists at "/zh/2014/12/09/immutable-object-state-and-behavior.html" (758 words)
No need to translate, the page exists at "/ru/2014/12/09/immutable-object-state-and-behavior.html" (2097 words)
No need to translate, the page exists at "/zh/2014/04/06/introduction.html" (615 words)
No need to translate, the page exists at "/ru/2014/04/06/introduction.html" (705 words)
No need to translate, the page exists at "/zh/2014/04/18/jcabi-http-server-mocking.html" (706 words)
No need to translate, the page exists at "/ru/2014/04/18/jcabi-http-server-mocking.html" (1147 words)
No need to translate, the page exists at "/zh/2018/05/08/open-source-attributes.html" (739 words)
No need to translate, the page exists at "/ru/2018/05/08/open-source-attributes.html" (2048 words)
No need to translate, the page exists at "/en/2019/12/31/testosterone.html" (2160 words)
No need to translate, the page exists at "/zh/2019/12/31/testosterone.html" (824 words)
No need to translate, the page exists at "/zh/2015/12/08/temporal-coupling-between-method-calls.html" (683 words)
No need to translate, the page exists at "/ru/2015/12/08/temporal-coupling-between-method-calls.html" (1073 words)
No need to translate, the page exists at "/zh/2015/09/01/redundant-variables-are-evil.html" (601 words)
No need to translate, the page exists at "/ru/2015/09/01/redundant-variables-are-evil.html" (920 words)
No need to translate, the page exists at "/zh/2014/04/06/movies-for-thanasis.html" (899 words)
No need to translate, the page exists at "/ru/2014/04/06/movies-for-thanasis.html" (1008 words)
No need to translate, the page exists at "/zh/2018/01/23/sociotech-skills.html" (640 words)
No need to translate, the page exists at "/ru/2018/01/23/sociotech-skills.html&quot; (1171 words)
No need to translate, the page exists at &quot;/zh/2016/08/10/if-then-else-code-smell.html&quot; (637 words)
No need to translate, the page exists at &quot;/ru/2016/08/10/if-then-else-code-smell.html&quot; (869 words)
No need to translate, the page exists at &quot;/zh/2022/07/20/command-line-defaults.html&quot; (700 words)
No need to translate, the page exists at &quot;/ru/2022/07/20/command-line-defaults.html&quot; (1040 words)
No need to translate, the page exists at &quot;/zh/2014/06/01/aop-aspectj-java-method-logging.html&quot; (903 words)
No need to translate, the page exists at &quot;/ru/2014/06/01/aop-aspectj-java-method-logging.html&quot; (1686 words)
No need to translate, the page exists at &quot;/zh/2016/04/26/why-inputstream-design-is-wrong.html" (646 words)
No need to translate, the page exists at "/ru/2016/04/26/why-inputstream-design-is-wrong.html" (997 words)
No need to translate, the page exists at "/zh/2014/07/03/how-to-read-manifest-mf.html" (680 words)
No need to translate, the page exists at "/ru/2014/07/03/how-to-read-manifest-mf.html" (943 words)
No need to translate, the page exists at "/zh/2021/02/10/dataization.html" (749 words)
No need to translate, the page exists at "/ru/2021/02/10/dataization.html" (1250 words)
No need to translate, the page exists at "/en/2019/09/28/what-is-the-point.html" (1743 words)
No need to translate, the page exists at "/zh/2019/09/28/what-is-the-point.html" (885 words)
No need to translate, the page exists at "/zh/2019/12/03/testing-in-code-review.html" (637 words)
No need to translate, the page exists at "/ru/2019/12/03/testing-in-code-review.html" (1433 words)
No need to translate, the page exists at "/zh/2015/02/20/utility-classes-vs-functional-programming.html" (685 words)
No need to translate, the page exists at "/ru/2015/02/20/utility-classes-vs-functional-programming.html" (1766 words)
No need to translate, the page exists at "/zh/2022/08/24/research-paper-template.html" (645 words)
No need to translate, the page exists at "/ru/2022/08/24/research-paper-template.html" (1295 words)
No need to translate, the page exists at "/zh/2016/08/15/what-is-wrong-object-oriented-programming.html" (1347 words)
No need to translate, the page exists at "/ru/2016/08/15/what-is-wrong-object-oriented-programming.html" (1437 words)
No need to translate, the page exists at "/zh/2019/03/19/logging-without-static-logger.html" (651 words)
No need to translate, the page exists at "/ru/2019/03/19/logging-without-static-logger.html" (1134 words)
No need to translate, the page exists at "/en/2018/10/07/history-simplification.html" (1408 words)
No need to translate, the page exists at "/zh/2018/10/07/history-simplification.html" (806 words)
No need to translate, the page exists at "/zh/2015/07/09/catch-if-cant-otherwise.html" (626 words)
No need to translate, the page exists at "/ru/2015/07/09/catch-if-cant-otherwise.html" (1116 words)
No need to translate, the page exists at "/zh/2021/10/12/calibrated-achievement-points.html" (641 words)
No need to translate, the page exists at "/ru/2021/10/12/calibrated-achievement-points.html" (1641 words)
No need to translate, the page exists at "/zh/2016/08/01/continuous-integration-maturity.html" (624 words)
No need to translate, the page exists at "/ru/2016/08/01/continuous-integration-maturity.html" (992 words)
No need to translate, the page exists at "/zh/2014/12/22/immutable-objects-not-dumb.html" (643 words)
No need to translate, the page exists at "/ru/2014/12/22/immutable-objects-not-dumb.html" (1155 words)
No need to translate, the page exists at "/zh/2017/07/25/my-favorite-websites.html" (1289 words)
No need to translate, the page exists at "/ru/2017/07/25/my-favorite-websites.html" (1324 words)
No need to translate, the page exists at "/en/2017/01/23/consciousness-and-revolution.html" (1446 words)
No need to translate, the page exists at "/zh/2017/01/23/consciousness-and-revolution.html" (852 words)
No need to translate, the page exists at "/zh/2018/03/27/how-to-test-thread-safety.html" (705 words)
No need to translate, the page exists at "/ru/2018/03/27/how-to-test-thread-safety.html" (1231 words)
No need to translate, the page exists at "/zh/2017/06/06/gluten-free-management.html" (640 words)
No need to translate, the page exists at "/ru/2017/06/06/gluten-free-management.html" (1364 words)
No need to translate, the page exists at "/zh/2020/11/10/typing-without-types.html" (689 words)
No need to translate, the page exists at "/ru/2020/11/10/typing-without-types.html" (1083 words)
No need to translate, the page exists at "/zh/2015/05/21/avoid-software-outsourcing-disaster.html" (621 words)
No need to translate, the page exists at "/ru/2015/05/21/avoid-software-outsourcing-disaster.html" (2344 words)
No need to translate, the page exists at "/zh/2017/03/07/traits-and-mixins.html" (671 words)
No need to translate, the page exists at "/ru/2017/03/07/traits-and-mixins.html" (1158 words)
No need to translate, the page exists at "/zh/2016/06/17/dont-use-java-assertions.html" (635 words)
No need to translate, the page exists at "/ru/2016/06/17/dont-use-java-assertions.html" (831 words)
No need to translate, the page exists at "/zh/2019/03/12/data-and-maintainability.html" (733 words)
No need to translate, the page exists at "/ru/2019/03/12/data-and-maintainability.html" (1901 words)
No need to translate, the page exists at "/zh/2018/08/27/penalty-for-refusal.html" (843 words)
No need to translate, the page exists at "/ru/2018/08/27/penalty-for-refusal.html" (1146 words)
No need to translate, the page exists at "/zh/2014/09/11/deployment-script-vs-rultor.html" (662 words)
No need to translate, the page exists at "/ru/2014/09/11/deployment-script-vs-rultor.html" (1799 words)
No need to translate, the page exists at "/zh/2016/09/07/gradients-of-immutability.html" (714 words)
No need to translate, the page exists at "/ru/2016/09/07/gradients-of-immutability.html" (1130 words)
No need to translate, the page exists at "/zh/2015/08/18/multiple-return-statements-in-oop.html" (667 words)
No need to translate, the page exists at "/ru/2015/08/18/multiple-return-statements-in-oop.html" (899 words)
No need to translate, the page exists at "/zh/2016/11/18/software-conferences-to-attend.html" (650 words)
No need to translate, the page exists at "/ru/2016/11/18/software-conferences-to-attend.html" (709 words)
No need to translate, the page exists at "/zh/2019/05/14/cause-risk-effect.html" (697 words)
No need to translate, the page exists at "/ru/2019/05/14/cause-risk-effect.html" (2397 words)
No need to translate, the page exists at "/zh/2019/03/30/survival-guide.html" (902 words)
No need to translate, the page exists at "/ru/2019/03/30/survival-guide.html" (1527 words)
No need to translate, the page exists at "/zh/2015/06/29/simple-diagrams.html" (657 words)
No need to translate, the page exists at "/ru/2015/06/29/simple-diagrams.html" (1426 words)
No need to translate, the page exists at "/zh/2015/01/21/if-then-throw-else.html" (642 words)
No need to translate, the page exists at "/ru/2015/01/21/if-then-throw-else.html" (835 words)
No need to translate, the page exists at "/en/2017/10/24/motherland.html" (1555 words)
No need to translate, the page exists at "/zh/2017/10/24/motherland.html" (840 words)
No need to translate, the page exists at "/zh/2014/04/13/no-obligations-principle.html" (609 words)
No need to translate, the page exists at &quot;/ru/2014/04/13/no-obligations-principle.html&quot; (1289 words)
No need to translate, the page exists at &quot;/zh/2015/03/16/technical-glossaries.html&quot; (631 words)
No need to translate, the page exists at &quot;/ru/2015/03/16/technical-glossaries.html&quot; (1254 words)
No need to translate, the page exists at &quot;/zh/2015/08/25/fail-fast.html&quot; (615 words)
No need to translate, the page exists at &quot;/ru/2015/08/25/fail-fast.html&quot; (1041 words)
No need to translate, the page exists at &quot;/zh/2021/12/01/teaching.html&quot; (680 words)
No need to translate, the page exists at &quot;/ru/2021/12/01/teaching.html&quot; (1867 words)
No need to translate, the page exists at &quot;/zh/2014/10/23/paired-brackets-notation.html&quot; (611 words)
No need to translate, the page exists at "/ru/2014/10/23/paired-brackets-notation.html" (791 words)
No need to translate, the page exists at "/en/2017/04/24/slaves-of-the-law.html" (1350 words)
No need to translate, the page exists at "/zh/2017/04/24/slaves-of-the-law.html" (832 words)
No need to translate, the page exists at "/zh/2014/11/03/empty-line-code-smell.html" (638 words)
No need to translate, the page exists at "/ru/2014/11/03/empty-line-code-smell.html" (976 words)
No need to translate, the page exists at "/zh/2014/12/15/how-much-your-objects-encapsulate.html" (646 words)
No need to translate, the page exists at "/ru/2014/12/15/how-much-your-objects-encapsulate.html" (1016 words)
No need to translate, the page exists at "/zh/2017/06/27/my-environment.html" (1465 words)
No need to translate, the page exists at "/ru/2017/06/27/my-environment.html" (1502 words)
No need to translate, the page exists at "/zh/2015/08/04/nine-steps-start-software-project.html" (658 words)
No need to translate, the page exists at "/ru/2015/08/04/nine-steps-start-software-project.html" (2271 words)
No need to translate, the page exists at "/zh/2015/09/29/mayonnaise.html" (628 words)
No need to translate, the page exists at "/ru/2015/09/29/mayonnaise.html" (1728 words)
No need to translate, the page exists at "/zh/2017/09/19/what-motivates-me.html" (631 words)
No need to translate, the page exists at "/ru/2017/09/19/what-motivates-me.html" (1535 words)
No need to translate, the page exists at "/zh/2018/07/03/global-variables.html" (651 words)
No need to translate, the page exists at "/ru/2018/07/03/global-variables.html" (1006 words)
No need to translate, the page exists at "/en/2020/05/02/first-world-hysteria.html" (1535 words)
No need to translate, the page exists at "/zh/2020/05/02/first-world-hysteria.html" (865 words)
No need to translate, the page exists at "/zh/2023/08/15/decision-making-process.html" (638 words)
No need to translate, the page exists at "/ru/2023/08/15/decision-making-process.html" (1251 words)
No need to translate, the page exists at "/zh/2014/06/25/xml-and-xslt-in-browser.html" (666 words)
No need to translate, the page exists at "/ru/2014/06/25/xml-and-xslt-in-browser.html" (1419 words)
No need to translate, the page exists at "/en/2017/06/29/activists.html" (1596 words)
No need to translate, the page exists at "/zh/2017/06/29/activists.html" (824 words)
No need to translate, the page exists at "/zh/2020/07/29/open-source-etiquette.html" (639 words)
No need to translate, the page exists at "/ru/2020/07/29/open-source-etiquette.html" (1286 words)
No need to translate, the page exists at "/en/2017/01/05/justice-against-corruption.html" (1268 words)
No need to translate, the page exists at "/zh/2017/01/05/justice-against-corruption.html" (822 words)
No need to translate, the page exists at "/zh/2019/11/19/how-much-cohesion-is-enough.html" (636 words)
No need to translate, the page exists at "/ru/2019/11/19/how-much-cohesion-is-enough.html" (997 words)
No need to translate, the page exists at "/zh/2018/04/03/donations-via-zerocracy.html" (624 words)
No need to translate, the page exists at "/ru/2018/04/03/donations-via-zerocracy.html" (1003 words)
No need to translate, the page exists at "/en/2016/12/15/onishenko-our-hero.html" (1022 words)
No need to translate, the page exists at "/zh/2016/12/15/onishenko-our-hero.html" (811 words)
No need to translate, the page exists at "/zh/2020/11/24/objects-without-methods.html" (741 words)
No need to translate, the page exists at "/ru/2020/11/24/objects-without-methods.html" (1395 words)
No need to translate, the page exists at "/zh/2015/09/22/micromanagement.html" (624 words)
No need to translate, the page exists at "/ru/2015/09/22/micromanagement.html" (1058 words)
No need to translate, the page exists at "/zh/2014/06/21/casperjs-with-maven.html" (657 words)
No need to translate, the page exists at "/ru/2014/06/21/casperjs-with-maven.html" (1109 words)
No need to translate, the page exists at "/zh/2014/04/11/cost-of-loc.html" (669 words)
No need to translate, the page exists at "/ru/2014/04/11/cost-of-loc.html" (1350 words)
No need to translate, the page exists at "/zh/2015/11/03/chatbot-better-than-ui-for-microservice.html" (704 words)
No need to translate, the page exists at "/ru/2015/11/03/chatbot-better-than-ui-for-microservice.html" (2323 words)
No need to translate, the page exists at "/zh/2014/11/20/seven-virtues-of-good-object.html" (734 words)
No need to translate, the page exists at "/ru/2014/11/20/seven-virtues-of-good-object.html" (2919 words)
No need to translate, the page exists at "/zh/2016/07/18/law-of-demeter.html" (644 words)
No need to translate, the page exists at "/ru/2016/07/18/law-of-demeter.html" (1014 words)
No need to translate, the page exists at "/zh/2018/01/02/operator-new-is-toxic.html" (647 words)
No need to translate, the page exists at "/ru/2018/01/02/operator-new-is-toxic.html" (1079 words)
No need to translate, the page exists at "/zh/2014/04/29/w3c-java-validators.html" (635 words)
No need to translate, the page exists at "/ru/2014/04/29/w3c-java-validators.html" (785 words)
No need to translate, the page exists at "/zh/2023/12/26/defend-me-against-chatgpt.html" (628 words)
No need to translate, the page exists at "/ru/2023/12/26/defend-me-against-chatgpt.html" (1122 words)
No need to translate, the page exists at "/zh/2014/10/06/software-project-lifecycle.html" (621 words)
No need to translate, the page exists at "/ru/2014/10/06/software-project-lifecycle.html" (1716 words)
No need to translate, the page exists at "/zh/2018/10/01/remote-work.html" (861 words)
No need to translate, the page exists at "/ru/2018/10/01/remote-work.html" (1105 words)
No need to translate, the page exists at "/zh/2020/12/29/metric-for-emotions.html" (621 words)
No need to translate, the page exists at "/ru/2020/12/29/metric-for-emotions.html" (1390 words)
No need to translate, the page exists at "/zh/2017/06/13/dynamodb-rack-maven.html" (831 words)
No need to translate, the page exists at "/ru/2017/06/13/dynamodb-rack-maven.html" (1357 words)
No need to translate, the page exists at "/zh/2017/04/11/flexibility-equates-lower-quality.html" (672 words)
No need to translate, the page exists at "/ru/2017/04/11/flexibility-equates-lower-quality.html" (1197 words)
No need to translate, the page exists at "/zh/2014/06/19/avoid-string-concatenation.html" (665 words)
No need to translate, the page exists at "/ru/2014/06/19/avoid-string-concatenation.html" (1085 words)
No need to translate, the page exists at "/zh/2019/07/02/tdd-misbeliefs.html" (1278 words)
No need to translate, the page exists at &quot;/ru/2019/07/02/tdd-misbeliefs.html&quot; (1413 words)
No need to translate, the page exists at &quot;/zh/2020/02/11/object-cohesion.html&quot; (660 words)
No need to translate, the page exists at &quot;/ru/2020/02/11/object-cohesion.html&quot; (1174 words)
No need to translate, the page exists at &quot;/zh/2016/09/13/inheritance-is-procedural.html&quot; (658 words)
No need to translate, the page exists at &quot;/ru/2016/09/13/inheritance-is-procedural.html&quot; (1140 words)
No need to translate, the page exists at &quot;/zh/2021/09/09/simba.html&quot; (627 words)
No need to translate, the page exists at &quot;/ru/2021/09/09/simba.html&quot; (1352 words)
The page is absent, need to translate &quot;/zh/2025/04/19/dont-merge-into-broken-master.html&quot;
Current OpenAI API Base URL: "https://api.openai.com/"
31mChatGPT failed to answer to "Please, translate the following two Markdown paragraphs from English to Chinese, don't translate technical terms and proper nouns:\n\nWhat do you think is the most typical reason for delays in pull request reviews? A [study](https://doi.org/10.1145/3183519.3183525) at Google confirms that it's the size---the more changes, the slower the review. Another [study](https://doi.org/10.1109/ACCESS.2020.3002663) shows that it's the emotional tone---anger and dominance expressed in comments are linked to a lower likelihood of a pull request being merged. A more recent [study](https://doi.org/10.1016/j.jss.2020.110806) finds that it's the author's reputation: we merge PRs faster if we know the author. All of the above is true. In our projects, though, what often slows down PR reviews is the message: **\"CI failures are not related to my changes!\"**\n\nHere's how it happens: You fork a repo. You make changes to fix a bug or introduce a new feature. You commit them and push. You submit a pull request. You realize that some GitHub CI jobs fail. You read the logs. You don't see any relevance between the error messages and your edits. You post a comment: \"CI failures are not related to my changes!\" You expect us to merge your pull request."(attempt no.1): "the server responded with status 429" 0m
31mChatGPT failed to answer to "Please, translate the following two Markdown paragraphs from English to Chinese, don't translate technical terms and proper nouns:\n\nWhat do you think is the most typical reason for delays in pull request reviews? A [study](https://doi.org/10.1145/3183519.3183525) at Google confirms that it's the size---the more changes, the slower the review. Another [study](https://doi.org/10.1109/ACCESS.2020.3002663) shows that it's the emotional tone---anger and dominance expressed in comments are linked to a lower likelihood of a pull request being merged. A more recent [study](https://doi.org/10.1016/j.jss.2020.110806) finds that it's the author's reputation: we merge PRs faster if we know the author. All of the above is true. In our projects, though, what often slows down PR reviews is the message: **\"CI failures are not related to my changes!\"**\n\nHere's how it happens: You fork a repo. You make changes to fix a bug or introduce a new feature. You commit them and push. You submit a pull request. You realize that some GitHub CI jobs fail. You read the logs. You don't see any relevance between the error messages and your edits. You post a comment: \"CI failures are not related to my changes!\" You expect us to merge your pull request."(attempt no.2): "the server responded with status 429" 0m
31mChatGPT failed to answer to "Please, translate the following two Markdown paragraphs from English to Chinese, don't translate technical terms and proper nouns:\n\nWhat do you think is the most typical reason for delays in pull request reviews? A [study](https://doi.org/10.1145/3183519.3183525) at Google confirms that it's the size---the more changes, the slower the review. Another [study](https://doi.org/10.1109/ACCESS.2020.3002663) shows that it's the emotional tone---anger and dominance expressed in comments are linked to a lower likelihood of a pull request being merged. A more recent [study](https://doi.org/10.1016/j.jss.2020.110806) finds that it's the author's reputation: we merge PRs faster if we know the author. All of the above is true. In our projects, though, what often slows down PR reviews is the message: **\"CI failures are not related to my changes!\"**\n\nHere's how it happens: You fork a repo. You make changes to fix a bug or introduce a new feature. You commit them and push. You submit a pull request. You realize that some GitHub CI jobs fail. You read the logs. You don't see any relevance between the error messages and your edits. You post a comment: \"CI failures are not related to my changes!\" You expect us to merge your pull request."(attempt no.3): "the server responded with status 429" 0m
31m                    ------------------------------------------------0m
31m      Jekyll 4.4.1   Please append `--trace` to the `build` command 0m
31m                     for any additional information or backtrace. 0m
31m                    ------------------------------------------------0m
/usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/response/raise_error.rb:30:in `on_complete': 1mthe server responded with status 429 (1;4mFaraday::TooManyRequestsErrorm1m)m
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/middleware.rb:57:in `block in call'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/response.rb:42:in `on_complete'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/middleware.rb:56:in `call'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/rack_builder.rb:153:in `build_response'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/connection.rb:452:in `run_request'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/faraday-2.13.0/lib/faraday/connection.rb:280:in `post'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/ruby-openai-8.1.0/lib/openai/http.rb:22:in `json_post'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/ruby-openai-8.1.0/lib/openai/client.rb:24:in `chat'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/chatgpt.rb:122:in `translate_par'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/chatgpt.rb:109:in `translate_pars'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/chatgpt.rb:100:in `translate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:108:in `block (2 levels) in generate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:52:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:52:in `block in generate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:49:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:49:in `each_with_index'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.1.0/lib/jekyll-chatgpt-translate/generator.rb:49:in `generate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/site.rb:193:in `block in generate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/site.rb:191:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/site.rb:191:in `generate'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/site.rb:79:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/command.rb:28:in `process_site'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/commands/build.rb:65:in `build'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/commands/build.rb:36:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.4.1/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `<main>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `eval'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `<main>'
+ rm -rf /tmp/jgd-EDa
/usr/local/rvm/gems/ruby-3.2.2/gems/jgd-1.14.0/bin/jgd:55:in `<top (required)>': 1mdeployment failed, see log above (1;4mRuntimeErrorm1m)m
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jgd:25:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jgd:25:in `<main>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `eval'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `<main>'
container 5f77e2a1b0b7a409ac4f9b0839394ac70c22484c7b1aadbf74ec2518d5699ba1 is dead
Sun Apr 20 15:55:39 UTC 2025