+ set -e + set -o pipefail ++ dirname ./run.sh + cd . + echo 1309 + echo '2.0-SNAPSHOT BUILD' 2.0-SNAPSHOT BUILD + date Sat Mar 22 06:51:46 UTC 2025 + uptime 06:51:46 up 1 min, 0 users, load average: 1.51, 0.45, 0.16 + 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_772 + as_root=false + hostname ip-172-31-25-79 + pwd /tmp/rultor-4QvM + 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% (1716/1716), 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.31 ++ bc ++ echo 0.31 '>' 30 + '[' 0 -eq 1 ']' + echo 'load average is 0.31, low enough to run a new Docker container' load average is 0.31, 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-ljct6jfm + docker build repo -t yegor256/rultor-ljct6jfm #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:6fdf9d57c7703822bb2609f60c4ce16cba8e9760d7f157447adad062cf127013 170B / 170B 0.1s done #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 0B / 47.35MB 0.1s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 0B / 241.77MB 0.1s #5 sha256:4fe06bbcf73e766230da42584c9dce5988a35100224414d3dd10035daa248e36 16.73kB / 16.73kB done #5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 5.24MB / 29.54MB 0.1s #5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 24.12MB / 29.54MB 0.3s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 5.24MB / 47.35MB 0.5s #5 sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 29.54MB / 29.54MB 0.4s done #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 0B / 1.68GB 0.6s #5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 16.78MB / 47.35MB 0.8s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 20.97MB / 241.77MB 0.8s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 22.02MB / 47.35MB 0.9s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 25.17MB / 47.35MB 1.0s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 30.41MB / 47.35MB 1.1s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 34.60MB / 47.35MB 1.3s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 37.75MB / 241.77MB 1.3s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 39.85MB / 47.35MB 1.5s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 51.38MB / 241.77MB 1.6s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 46.14MB / 47.35MB 1.8s #5 sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 47.35MB / 47.35MB 1.8s done #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 66.06MB / 241.77MB 1.9s #5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 0B / 3.49MB 1.9s #5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 1.05MB / 3.49MB 2.1s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 78.64MB / 241.77MB 2.2s #5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 3.49MB / 3.49MB 2.2s #5 sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 3.49MB / 3.49MB 2.2s done #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0B / 12.36MB 2.3s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 1.05MB / 12.36MB 2.5s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 92.27MB / 241.77MB 2.6s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 87.03MB / 1.68GB 2.6s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 4.19MB / 12.36MB 2.6s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 7.34MB / 12.36MB 2.7s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 10.49MB / 12.36MB 2.8s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 12.36MB / 12.36MB 2.9s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 104.86MB / 241.77MB 3.0s #5 sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 12.36MB / 12.36MB 2.9s done #5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 0B / 10.72MB 3.0s #5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 3.15MB / 10.72MB 3.2s #5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 8.39MB / 10.72MB 3.4s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 119.54MB / 241.77MB 3.5s #5 sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 10.72MB / 10.72MB 3.5s done #5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0B / 12.62MB 3.5s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 138.41MB / 241.77MB 3.9s #5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 6.29MB / 12.62MB 3.9s #5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 11.53MB / 12.62MB 4.0s #5 sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 12.62MB / 12.62MB 4.1s done #5 sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 0B / 3.26MB 4.1s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 155.19MB / 241.77MB 4.3s #5 sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 2.10MB / 3.26MB 4.3s #5 sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 3.26MB / 3.26MB 4.3s done #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 0B / 376.04MB 4.4s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 171.97MB / 241.77MB 4.6s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 178.26MB / 1.68GB 4.6s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 184.55MB / 241.77MB 4.9s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 23.07MB / 376.04MB 5.2s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 197.13MB / 241.77MB 5.3s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 212.86MB / 241.77MB 5.8s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 45.09MB / 376.04MB 5.8s #5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 5.2s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 227.54MB / 241.77MB 6.3s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 68.16MB / 376.04MB 6.4s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 241.17MB / 241.77MB 6.8s #5 sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 241.77MB / 241.77MB 6.9s done #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 268.44MB / 1.68GB 7.0s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 88.08MB / 376.04MB 7.0s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 0B / 23.06MB 7.0s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 4.19MB / 23.06MB 7.4s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 110.10MB / 376.04MB 7.6s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 9.44MB / 23.06MB 7.6s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 14.68MB / 23.06MB 7.9s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 16.78MB / 23.06MB 8.0s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 132.12MB / 376.04MB 8.2s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 20.97MB / 23.06MB 8.2s #5 sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 23.06MB / 23.06MB 8.4s done #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 0B / 342.93MB 8.5s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 153.09MB / 376.04MB 8.9s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 355.47MB / 1.68GB 9.1s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 178.26MB / 376.04MB 9.6s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 22.02MB / 342.93MB 9.6s #5 extracting sha256:9cb31e2e37eab1bff50f727e979fcacb509e225fb853433a6fe21d2fb34e6305 9.1s done #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 39.85MB / 342.93MB 10.3s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 199.23MB / 376.04MB 10.4s #5 extracting sha256:6fdf9d57c7703822bb2609f60c4ce16cba8e9760d7f157447adad062cf127013 done #5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 219.15MB / 376.04MB 11.0s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 61.87MB / 342.93MB 11.0s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 443.55MB / 1.68GB 11.5s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 239.08MB / 376.04MB 11.5s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 81.79MB / 342.93MB 11.7s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 259.00MB / 376.04MB 12.1s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 106.95MB / 342.93MB 12.3s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 282.07MB / 376.04MB 12.8s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 124.78MB / 342.93MB 12.8s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 307.23MB / 376.04MB 13.4s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 146.80MB / 342.93MB 13.4s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 326.11MB / 376.04MB 13.9s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 530.71MB / 1.68GB 14.0s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 165.68MB / 342.93MB 14.0s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 350.22MB / 376.04MB 14.5s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 183.50MB / 342.93MB 14.6s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 370.15MB / 376.04MB 15.0s #5 sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 376.04MB / 376.04MB 15.2s done #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 205.52MB / 342.93MB 15.2s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 0B / 1.14GB 15.2s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 224.40MB / 342.93MB 15.5s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 243.27MB / 342.93MB 15.9s #5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 5.1s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 615.51MB / 1.68GB 16.5s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 263.19MB / 342.93MB 16.6s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 59.77MB / 1.14GB 17.1s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 284.20MB / 342.93MB 17.4s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 303.04MB / 342.93MB 18.0s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 321.91MB / 342.93MB 18.4s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 118.49MB / 1.14GB 18.4s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 340.79MB / 342.93MB 19.0s #5 sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 342.93MB / 342.93MB 19.2s done #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 705.69MB / 1.68GB 19.4s #5 sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 1.07MB / 1.07MB 19.4s done #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 0B / 63.73MB 19.4s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 10.49MB / 63.73MB 19.8s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 177.21MB / 1.14GB 19.9s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 23.07MB / 63.73MB 20.1s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 29.36MB / 63.73MB 20.3s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 35.65MB / 63.73MB 20.5s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 39.85MB / 63.73MB 20.6s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 45.09MB / 63.73MB 20.8s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 50.33MB / 63.73MB 20.9s #5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 10.1s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 57.67MB / 63.73MB 21.1s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 234.88MB / 1.14GB 21.2s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 63.73MB / 63.73MB 21.3s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 790.63MB / 1.68GB 21.9s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 297.80MB / 1.14GB 22.4s #5 sha256:00d87e9826759d797bf347d84f61b90f403479e02e1af4532711e36b84f8ee53 63.73MB / 63.73MB 22.4s done #5 sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 1.05MB / 3.35MB 22.8s #5 sha256:0a47604816a95dc6022e390ecff3caa68826af1cbbc45f46e191841efcfd7b0f 3.35MB / 3.35MB 23.0s done #5 sha256:39620eda63295f8dc7d6ce1bff8650fe9ad1da90363fa6600d1083e34c149ff4 0B / 412B 23.1s #5 sha256:39620eda63295f8dc7d6ce1bff8650fe9ad1da90363fa6600d1083e34c149ff4 412B / 412B 23.1s done #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 0B / 18.90MB 23.3s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 2.10MB / 18.90MB 23.5s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 880.80MB / 1.68GB 23.7s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 7.34MB / 18.90MB 23.7s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 8.39MB / 18.90MB 23.8s #5 extracting sha256:b1b8e573ea09503745b70428cecac45aca25946dcc69cfb864be5dd6162273c2 13.0s done #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 356.52MB / 1.14GB 24.0s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 12.58MB / 18.90MB 24.0s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 13.63MB / 18.90MB 24.1s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 17.83MB / 18.90MB 24.3s #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 18.90MB / 18.90MB 24.5s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 #5 sha256:1e5066b6f93cd240bfed14a2b6dc7c09cfda064312cfccd925710bcdc8198756 18.90MB / 18.90MB 24.8s done #5 sha256:bf2832135ec0676462a11f7e362d12bc6fec0303b5312dce0055ea010633b8ab 0B / 357B 24.9s #5 sha256:bf2832135ec0676462a11f7e362d12bc6fec0303b5312dce0055ea010633b8ab 357B / 357B 25.0s done #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 0B / 33.27MB 25.2s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 414.19MB / 1.14GB 25.5s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 6.29MB / 33.27MB 25.5s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 9.44MB / 33.27MB 25.6s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 965.74MB / 1.68GB 25.7s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 12.58MB / 33.27MB 25.7s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 15.73MB / 33.27MB 25.8s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 22.02MB / 33.27MB 26.0s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 29.36MB / 33.27MB 26.2s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 31.46MB / 33.27MB 26.3s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 33.27MB / 33.27MB 26.5s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 475.00MB / 1.14GB 27.3s #5 sha256:17c9f809a0ebbce0c734f2145e7da041dce4f31315b7d85afc4ffb92caa5b421 33.27MB / 33.27MB 27.0s done #5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 0B / 6.41MB 27.3s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.06GB / 1.68GB 27.5s #5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 3.15MB / 6.41MB 27.5s #5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 4.19MB / 6.41MB 27.6s #5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 5.24MB / 6.41MB 27.7s #5 sha256:791d75dcb5dd1c470844ccb1e98c8b45f212b793dd061826e4232dcf53c85bdd 6.41MB / 6.41MB 27.8s done #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 0B / 46.24MB 27.9s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 10.49MB / 46.24MB 28.4s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 14.68MB / 46.24MB 28.5s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 538.97MB / 1.14GB 28.8s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 22.02MB / 46.24MB 28.8s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 28.31MB / 46.24MB 29.0s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 32.51MB / 46.24MB 29.1s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 39.85MB / 46.24MB 29.3s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 44.04MB / 46.24MB 29.4s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 5.1s #5 sha256:4d856b07c9bd516918924213a836ac74e03cffec98b4d9ebd4a151ba637832bb 46.24MB / 46.24MB 29.8s done #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.14GB / 1.68GB 29.9s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 0B / 272.22MB 29.9s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 598.74MB / 1.14GB 30.1s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 14.68MB / 272.22MB 30.6s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 29.97MB / 272.22MB 31.0s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 46.55MB / 272.22MB 31.4s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 656.41MB / 1.14GB 31.7s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 60.82MB / 272.22MB 31.9s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.23GB / 1.68GB 32.4s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 81.79MB / 272.22MB 32.4s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 100.66MB / 272.22MB 32.9s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 716.18MB / 1.14GB 33.3s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 118.49MB / 272.22MB 33.3s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 132.12MB / 272.22MB 33.6s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 152.04MB / 272.22MB 34.0s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 166.72MB / 272.22MB 34.5s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 10.2s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 778.04MB / 1.14GB 35.0s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.32GB / 1.68GB 35.2s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 184.55MB / 272.22MB 35.2s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 206.57MB / 272.22MB 35.9s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 220.84MB / 272.22MB 36.3s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 242.22MB / 272.22MB 36.8s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 837.81MB / 1.14GB 36.9s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 255.85MB / 272.22MB 37.1s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 270.53MB / 272.22MB 37.5s #5 sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 272.22MB / 272.22MB 37.7s done #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 0B / 119.44MB 37.8s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.41GB / 1.68GB 38.2s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 11.53MB / 119.44MB 38.4s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 900.73MB / 1.14GB 38.6s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 18.87MB / 119.44MB 38.6s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 27.26MB / 119.44MB 38.8s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 35.65MB / 119.44MB 39.0s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 45.09MB / 119.44MB 39.3s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 51.38MB / 119.44MB 39.5s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 15.2s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 57.67MB / 119.44MB 39.7s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 63.96MB / 119.44MB 39.9s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 961.54MB / 1.14GB 40.2s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 71.30MB / 119.44MB 40.2s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.49GB / 1.68GB 40.5s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 78.64MB / 119.44MB 40.5s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 88.08MB / 119.44MB 40.9s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 95.42MB / 119.44MB 41.1s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 106.95MB / 119.44MB 41.5s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 114.29MB / 119.44MB 41.7s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.02GB / 1.14GB 42.1s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.59GB / 1.68GB 42.3s #5 sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 119.44MB / 119.44MB 42.4s done #5 sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae 0B / 258B 42.5s #5 sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae 258B / 258B 42.7s done #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.68GB / 1.68GB 43.9s #5 sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 1.68GB / 1.68GB 44.1s done #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.09GB / 1.14GB 44.4s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 20.4s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.14GB / 1.14GB 45.4s #5 sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 1.14GB / 1.14GB 45.6s done #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 25.5s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 30.6s #5 extracting sha256:d98471df16b3de6f4ec5546d4f221eff18d109fdf318ccf6170639c142862f57 31.2s done #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 5.0s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 10.1s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 15.3s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 20.4s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 25.5s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 30.5s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 35.5s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 40.7s #5 extracting sha256:d91bad0881f60540efe4a5537ad90e9dffd304fc623174db085f3ae43ed8c2df 42.5s done #5 extracting sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf #5 extracting sha256:0989603b9c78f4a95c0908a3beb6bf0ddf9d292486f2ee743595cd16e8827dbf 0.2s done #5 extracting sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0.1s #5 extracting sha256:be0e4fe934acad62db81cea9fe81f3021a30c51cb6c2efb04ca59de497ff5afe 0.9s done #5 extracting sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 #5 extracting sha256:836583b1a84e64322181f49b403372ffb21c9b14ee5a6244905632b3b8de5d15 0.4s done #5 extracting sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0.1s #5 extracting sha256:9a7a8a989f2165fb2333eeca57f972435da56af2df70c0efaa71ee473e700a7e 0.5s done #5 extracting sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 #5 extracting sha256:206d2c40dab638ed69a858ea7d088c404e5158006727205205c414a28aac20a0 0.5s done #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 5.1s #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 10.1s #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 15.2s #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 20.7s #5 extracting sha256:7e814560871de806dd4782089691dec4387d288a97504433ef2dc8aa73b14fa1 21.3s done #5 extracting sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d #5 extracting sha256:3e6884fb6bef24d8e935a42d8be52161fd7f9e95ef0e437a491cc39e70dba89d 1.7s done #5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 #5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 5.1s #5 extracting sha256:efc2cb2da4908100bb99f27016268405ade9bf48de0357f6ff79eb0780914950 9.8s done #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 5.0s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 10.1s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 15.1s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 20.2s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 25.3s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 30.3s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 35.5s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 40.6s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 45.7s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 50.8s #5 extracting sha256:a2685e4ec0a3d05f91c86f301885e23d601065bf6fd37420fb8ff457c7940cb9 54.7s done #5 extracting sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 #5 extracting sha256:d8f398d41642fdd2d400e257d43eb341ba1a575388733e95a7a297bdc06341a1 0.2s 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 0.1s #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.0s #5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 10.4s #5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 15.4s #5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 20.6s #5 extracting sha256:08fb6625faae48e4c5b41aa4f7c9c951c1d9fa9dc1dd858bac257153a4ad0eaa 20.6s done #5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 #5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 5.1s #5 extracting sha256:6fbcea1fd5f06ae330aa279baf5b0d01d0a8d992626edc33c69f2172500fb777 7.2s done #5 extracting sha256:e5e0772939b22cf669993c8d0b2d0632da37946abe12b2067c29c53a90adc3ae done #5 DONE 228.9s #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.093 Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] #6 3.223 Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease #6 3.223 Hit:3 https://deb.nodesource.com/node_18.x nodistro InRelease #6 3.291 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] #6 3.584 Get:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease [18.1 kB] #6 3.630 Get:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB] #6 3.683 Get:7 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease [24.6 kB] #6 3.781 Get:8 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [24.6 kB] #6 4.068 Get:9 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1,237 kB] #6 4.210 Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2,692 kB] #6 4.280 Get:11 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [57.9 kB] #6 4.281 Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [3,798 kB] #6 4.863 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [65.7 kB] #6 4.965 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1,535 kB] #6 5.188 Get:15 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy/main amd64 Packages [33.6 kB] #6 5.244 Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [3,962 kB] #6 5.299 Get:17 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main amd64 Packages [4,109 B] #6 5.452 Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [3,003 kB] #6 5.522 Get:19 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [232 kB] #6 5.597 Get:20 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [38.5 kB] #6 5.598 Get:21 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [112 kB] #6 6.152 Fetched 17.2 MB in 3s (5,993 kB/s) #6 6.152 Reading package lists... #6 7.502 Reading package lists... #6 8.667 Building dependency tree... #6 8.896 Reading state information... #6 9.093 aspell is already the newest version (0.60.8-4build1). #6 9.093 s3cmd is already the newest version (2.2.0-1). #6 9.093 cmake is already the newest version (3.22.1-1ubuntu1.22.04.2). #6 9.093 The following additional packages will be installed: #6 9.094 aglfn binfmt-support default-jre-headless ditaa fastjar fontforge-common #6 9.094 fonts-cantarell fonts-inconsolata fonts-liberation gnuplot-data gnuplot-qt #6 9.094 icc-profiles-free jarwrapper java-wrappers junit4 libann0 libapache-pom-java #6 9.095 libavalon-framework-java libbatik-java libblas-dev libblas3 libcdt5 #6 9.095 libcgraph6 libcommons-cli-java libcommons-io-java libcommons-logging-java #6 9.095 libcommons-parent-java libegl-mesa0 libegl1 libevdev2 libfontbox2-java #6 9.095 libfontforge4 libfop-java libgbm1 libgfortran5 libgts-0.7-5 libgts-bin #6 9.096 libgudev-1.0-0 libgvc6 libgvpr2 libhamcrest-java libinput-bin libinput10 #6 9.096 libjaxp1.3-java libjericho-html-java libjlatexmath-java liblab-gamut1 #6 9.096 liblapack3 liblua5.4-0 libmd4c0 libmtdev1 libnotify4 libpathplan4 #6 9.096 libpcre2-16-0 libqdox-java libqt5core5a libqt5dbus5 libqt5gui5 #6 9.097 libqt5network5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libsaxon-java #6 9.097 libspiro1 libuninameslist1 libwacom-bin libwacom-common libwacom9 #6 9.097 libwayland-server0 libwoff1 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5 #6 9.098 libxalan2-java libxcb-icccm4 libxcb-image0 libxcb-keysyms1 #6 9.098 libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 #6 9.098 libxerces2-java libxkbcommon-x11-0 libxml-commons-external-java #6 9.099 libxml-commons-resolver1.1-java libxmlgraphics-commons-java #6 9.100 qt5-gtk-platformtheme qttranslations5-l10n #6 9.101 Suggested packages: #6 9.101 default-jre fontforge-doc fontforge-extras potrace python3-fontforge #6 9.101 gnuplot-doc gsfonts graphviz-doc libavalon-framework-java-doc librhino-java #6 9.101 liblapack-doc libcommons-io-java-doc libcommons-logging-java-doc #6 9.102 libexcalibur-logkit-java liblog4j1.2-java gnome-shell | notification-daemon #6 9.102 libqdox-java-doc ant junit qt5-image-formats-plugins qtwayland5 #6 9.102 libjdom1-java libsaxon-java-doc libxalan2-java-doc libbsf-java libxsltc-java #6 9.102 libxerces2-java-doc libxml-commons-resolver1.1-java-doc #6 9.102 libxmlgraphics-commons-java-doc #6 9.411 The following NEW packages will be installed: #6 9.411 aglfn aspell-en binfmt-support default-jre-headless ditaa fastjar fontforge #6 9.412 fontforge-common fonts-cantarell fonts-inconsolata fonts-liberation gnuplot #6 9.412 gnuplot-data gnuplot-qt graphviz icc-profiles-free jarwrapper java-wrappers #6 9.413 junit4 libann0 libapache-pom-java libavalon-framework-java libbatik-java #6 9.413 libblas-dev libblas3 libcdt5 libcgraph6 libcommons-cli-java #6 9.413 libcommons-io-java libcommons-logging-java libcommons-parent-java #6 9.413 libegl-mesa0 libegl1 libevdev2 libfontbox2-java libfontforge4 libfop-java #6 9.413 libgbm1 libgfortran5 libgts-0.7-5 libgts-bin libgudev-1.0-0 libgvc6 libgvpr2 #6 9.414 libhamcrest-java libinput-bin libinput10 libjaxp1.3-java #6 9.414 libjericho-html-java libjlatexmath-java liblab-gamut1 liblapack-dev #6 9.414 liblapack3 liblua5.4-0 libmd4c0 libmtdev1 libnotify4 libpathplan4 #6 9.414 libpcre2-16-0 libqdox-java libqt5core5a libqt5dbus5 libqt5gui5 #6 9.415 libqt5network5 libqt5printsupport5 libqt5svg5 libqt5widgets5 libsaxon-java #6 9.415 libspiro1 libuninameslist1 libwacom-bin libwacom-common libwacom9 #6 9.415 libwayland-server0 libwoff1 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5 #6 9.415 libxalan2-java libxcb-icccm4 libxcb-image0 libxcb-keysyms1 #6 9.415 libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 #6 9.415 libxerces2-java libxkbcommon-x11-0 libxml-commons-external-java #6 9.417 libxml-commons-resolver1.1-java libxmlgraphics-commons-java plantuml #6 9.417 qt5-gtk-platformtheme qttranslations5-l10n shellcheck #6 9.419 The following packages will be upgraded: #6 9.419 libxml2-utils #6 9.598 1 upgraded, 95 newly installed, 0 to remove and 29 not upgraded. #6 9.598 Need to get 75.3 MB of archives. #6 9.598 After this operation, 216 MB of additional disk space will be used. #6 9.598 Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5core5a amd64 5.15.3+dfsg-2ubuntu0.2 [2,006 kB] #6 9.870 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.14 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.25 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libwayland-server0 amd64 1.20.0-1ubuntu0.1 [34.3 kB] #6 10.25 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.25 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.25 Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libegl1 amd64 1.4.0-1 [28.6 kB] #6 10.25 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 libevdev2 amd64 1.12.1+dfsg-1 [39.5 kB] #6 10.25 Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmtdev1 amd64 1.1.6-1build4 [14.5 kB] #6 10.25 Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgudev-1.0-0 amd64 1:237-2build1 [16.3 kB] #6 10.25 Get:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom-common all 2.2.0-1 [54.3 kB] #6 10.26 Get:12 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom9 amd64 2.2.0-1 [22.0 kB] #6 10.26 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libinput-bin amd64 1.20.0-1ubuntu0.3 [19.9 kB] #6 10.32 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libinput10 amd64 1.20.0-1ubuntu0.3 [131 kB] #6 10.40 Get:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libmd4c0 amd64 0.4.8-1 [42.0 kB] #6 10.40 Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5dbus5 amd64 5.15.3+dfsg-2ubuntu0.2 [222 kB] #6 10.41 Get:17 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5network5 amd64 5.15.3+dfsg-2ubuntu0.2 [731 kB] #6 10.43 Get:18 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-icccm4 amd64 0.4.1-1.1build2 [11.5 kB] #6 10.43 Get:19 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-util1 amd64 0.4.0-1build2 [11.4 kB] #6 10.43 Get:20 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-image0 amd64 0.4.0-2 [11.5 kB] #6 10.43 Get:21 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-keysyms1 amd64 0.4.0-1build3 [8,746 B] #6 10.43 Get:22 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-render-util0 amd64 0.3.9-1build3 [10.3 kB] #6 10.43 Get:23 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xinerama0 amd64 1.14-3ubuntu3 [5,414 B] #6 10.47 Get:24 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xinput0 amd64 1.14-3ubuntu3 [34.3 kB] #6 10.55 Get:25 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xkb1 amd64 1.14-3ubuntu3 [32.8 kB] #6 10.55 Get:26 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxkbcommon-x11-0 amd64 1.4.0-1 [14.4 kB] #6 10.55 Get:27 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5gui5 amd64 5.15.3+dfsg-2ubuntu0.2 [3,722 kB] #6 10.72 Get:28 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5widgets5 amd64 5.15.3+dfsg-2ubuntu0.2 [2,561 kB] #6 10.86 Get:29 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5svg5 amd64 5.15.3-1 [149 kB] #6 10.86 Get:30 http://archive.ubuntu.com/ubuntu jammy/main amd64 aspell-en all 2018.04.16-0-1 [299 kB] #6 10.87 Get:31 http://archive.ubuntu.com/ubuntu jammy/main amd64 binfmt-support amd64 2.2.1-2 [55.8 kB] #6 10.87 Get:32 http://archive.ubuntu.com/ubuntu jammy/main amd64 default-jre-headless amd64 2:1.11-72build2 [3,042 B] #6 10.87 Get:33 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fastjar amd64 2:0.98-7 [67.1 kB] #6 10.87 Get:34 http://archive.ubuntu.com/ubuntu jammy/universe amd64 jarwrapper all 0.78 [10.8 kB] #6 10.87 Get:35 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libhamcrest-java all 1.3-9 [386 kB] #6 10.88 Get:36 http://archive.ubuntu.com/ubuntu jammy/universe amd64 junit4 all 4.13.2-1 [344 kB] #6 10.89 Get:37 http://archive.ubuntu.com/ubuntu jammy/universe amd64 java-wrappers all 0.3 [9,560 B] #6 10.93 Get:38 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjaxp1.3-java all 1.3.05-6 [227 kB] #6 10.96 Get:39 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxml-commons-external-java all 1.4.01-5 [240 kB] #6 10.97 Get:40 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxml-commons-resolver1.1-java all 1.2-11 [97.6 kB] #6 10.98 Get:41 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxerces2-java all 2.12.1-1 [1,437 kB] #6 11.05 Get:42 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxalan2-java all 2.7.2-4 [3,416 kB] #6 11.22 Get:43 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libapache-pom-java all 18-1 [4,720 B] #6 11.22 Get:44 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-parent-java all 43-1 [10.8 kB] #6 11.22 Get:45 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-io-java all 2.11.0-2 [297 kB] #6 11.23 Get:46 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-logging-java all 1.2-2 [60.3 kB] #6 11.23 Get:47 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libxmlgraphics-commons-java all 2.6-1 [612 kB] #6 11.26 Get:48 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libbatik-java all 1.14-1ubuntu0.2 [3,866 kB] #6 11.45 Get:49 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libcommons-cli-java all 1.4-2 [55.8 kB] #6 11.45 Get:50 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjericho-html-java all 3.2-2 [185 kB] #6 11.46 Get:51 http://archive.ubuntu.com/ubuntu jammy/universe amd64 ditaa all 0.10+ds1-1.2 [129 kB] #6 11.47 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.57 Get:53 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libspiro1 amd64 1:20200505-2 [17.1 kB] #6 11.57 Get:54 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libuninameslist1 amd64 20211114-1 [473 kB] #6 11.59 Get:55 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwoff1 amd64 1.0.2-1build4 [45.2 kB] #6 11.60 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.70 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.77 Get:58 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fonts-cantarell all 0.303-2 [286 kB] #6 11.79 Get:59 http://archive.ubuntu.com/ubuntu jammy/universe amd64 fonts-inconsolata all 001.010-6build1 [61.4 kB] #6 11.79 Get:60 http://archive.ubuntu.com/ubuntu jammy/main amd64 fonts-liberation all 1:1.07.4-11 [822 kB] #6 11.83 Get:61 http://archive.ubuntu.com/ubuntu jammy/universe amd64 aglfn all 1.7+git20191031.4036a9c-2 [30.6 kB] #6 11.83 Get:62 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot-data all 5.4.2+dfsg2-2 [75.3 kB] #6 11.83 Get:63 http://archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.4-0 amd64 5.4.4-1 [152 kB] #6 11.84 Get:64 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB] #6 11.85 Get:65 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwxbase3.0-0v5 amd64 3.0.5.1+dfsg-4 [881 kB] #6 11.90 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.90 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.11 Get:68 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot-qt amd64 5.4.2+dfsg2-2 [1,156 kB] #6 12.17 Get:69 http://archive.ubuntu.com/ubuntu jammy/universe amd64 gnuplot all 5.4.2+dfsg2-2 [3,576 B] #6 12.17 Get:70 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libann0 amd64 1.1.2+doc-7build1 [26.0 kB] #6 12.17 Get:71 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libcdt5 amd64 2.42.2-6ubuntu0.1 [21.1 kB] #6 12.17 Get:72 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libcgraph6 amd64 2.42.2-6ubuntu0.1 [45.4 kB] #6 12.17 Get:73 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgts-0.7-5 amd64 0.7.6+darcs121130-5 [164 kB] #6 12.18 Get:74 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libpathplan4 amd64 2.42.2-6ubuntu0.1 [23.4 kB] #6 12.18 Get:75 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgvc6 amd64 2.42.2-6ubuntu0.1 [724 kB] #6 12.22 Get:76 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgvpr2 amd64 2.42.2-6ubuntu0.1 [192 kB] #6 12.22 Get:77 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 liblab-gamut1 amd64 2.42.2-6ubuntu0.1 [1,965 kB] #6 12.32 Get:78 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 graphviz amd64 2.42.2-6ubuntu0.1 [653 kB] #6 12.35 Get:79 http://archive.ubuntu.com/ubuntu jammy/main amd64 icc-profiles-free all 2.0.1+dfsg-1.1 [214 kB] #6 12.36 Get:80 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libavalon-framework-java all 4.2.0-10 [71.3 kB] #6 12.36 Get:81 http://archive.ubuntu.com/ubuntu jammy/main amd64 libblas3 amd64 3.10.0-2ubuntu1 [228 kB] #6 12.37 Get:82 http://archive.ubuntu.com/ubuntu jammy/main amd64 libblas-dev amd64 3.10.0-2ubuntu1 [164 kB] #6 12.38 Get:83 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libfontbox2-java all 2.0.25-1 [1,502 kB] #6 12.46 Get:84 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqdox-java all 1.12.1-3 [172 kB] #6 12.46 Get:85 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libfop-java all 1:2.6-2 [10.1 MB] #6 12.97 Get:86 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgfortran5 amd64 12.3.0-1ubuntu1~22.04 [879 kB] #6 13.00 Get:87 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgts-bin amd64 0.7.6+darcs121130-5 [44.3 kB] #6 13.00 Get:88 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libjlatexmath-java all 1.0.7-3 [990 kB] #6 13.05 Get:89 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblapack3 amd64 3.10.0-2ubuntu1 [2,504 kB] #6 13.18 Get:90 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblapack-dev amd64 3.10.0-2ubuntu1 [4,774 kB] #6 13.41 Get:91 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsaxon-java all 1:6.5.5-12 [574 kB] #6 13.43 Get:92 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwacom-bin amd64 2.2.0-1 [13.6 kB] #6 13.43 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.84 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.85 Get:95 http://archive.ubuntu.com/ubuntu jammy/universe amd64 qttranslations5-l10n all 5.15.3-1 [1,983 kB] #6 13.94 Get:96 http://archive.ubuntu.com/ubuntu jammy/universe amd64 shellcheck amd64 0.8.0-2 [2,359 kB] #6 15.65 debconf: delaying package configuration, since apt-utils is not installed #6 15.68 Fetched 75.3 MB in 5s (16.3 MB/s) #6 15.98 Selecting previously unselected package libpcre2-16-0:amd64. (Reading database ...a93612.files and directories currently installed.) #6 16.59 Preparing to unpack .../00-libpcre2-16-0_10.42-3+ubuntu22.04.1+deb.sury.org+1_amd64.deb ... #6 16.60 Unpacking libpcre2-16-0:amd64 (10.42-3+ubuntu22.04.1+deb.sury.org+1) ... #6 16.72 Selecting previously unselected package libqt5core5a:amd64. #6 16.73 Preparing to unpack .../01-libqt5core5a_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 16.75 Unpacking libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 16.82 Selecting previously unselected package libwayland-server0:amd64. #6 16.83 Preparing to unpack .../02-libwayland-server0_1.20.0-1ubuntu0.1_amd64.deb ... #6 16.84 Unpacking libwayland-server0:amd64 (1.20.0-1ubuntu0.1) ... #6 16.88 Selecting previously unselected package libgbm1:amd64. #6 16.88 Preparing to unpack .../03-libgbm1_23.2.1-1ubuntu3.1~22.04.3_amd64.deb ... #6 16.89 Unpacking libgbm1:amd64 (23.2.1-1ubuntu3.1~22.04.3) ... #6 16.93 Selecting previously unselected package libegl-mesa0:amd64. #6 16.94 Preparing to unpack .../04-libegl-mesa0_23.2.1-1ubuntu3.1~22.04.3_amd64.deb ... #6 16.95 Unpacking libegl-mesa0:amd64 (23.2.1-1ubuntu3.1~22.04.3) ... #6 16.99 Selecting previously unselected package libegl1:amd64. #6 17.00 Preparing to unpack .../05-libegl1_1.4.0-1_amd64.deb ... #6 17.00 Unpacking libegl1:amd64 (1.4.0-1) ... #6 17.04 Selecting previously unselected package libevdev2:amd64. #6 17.05 Preparing to unpack .../06-libevdev2_1.12.1+dfsg-1_amd64.deb ... #6 17.05 Unpacking libevdev2:amd64 (1.12.1+dfsg-1) ... #6 17.10 Selecting previously unselected package libmtdev1:amd64. #6 17.10 Preparing to unpack .../07-libmtdev1_1.1.6-1build4_amd64.deb ... #6 17.11 Unpacking libmtdev1:amd64 (1.1.6-1build4) ... #6 17.19 Selecting previously unselected package libgudev-1.0-0:amd64. #6 17.20 Preparing to unpack .../08-libgudev-1.0-0_1%3a237-2build1_amd64.deb ... #6 17.21 Unpacking libgudev-1.0-0:amd64 (1:237-2build1) ... #6 17.25 Selecting previously unselected package libwacom-common. #6 17.25 Preparing to unpack .../09-libwacom-common_2.2.0-1_all.deb ... #6 17.26 Unpacking libwacom-common (2.2.0-1) ... #6 17.34 Selecting previously unselected package libwacom9:amd64. #6 17.35 Preparing to unpack .../10-libwacom9_2.2.0-1_amd64.deb ... #6 17.36 Unpacking libwacom9:amd64 (2.2.0-1) ... #6 17.40 Selecting previously unselected package libinput-bin. #6 17.41 Preparing to unpack .../11-libinput-bin_1.20.0-1ubuntu0.3_amd64.deb ... #6 17.41 Unpacking libinput-bin (1.20.0-1ubuntu0.3) ... #6 17.48 Selecting previously unselected package libinput10:amd64. #6 17.49 Preparing to unpack .../12-libinput10_1.20.0-1ubuntu0.3_amd64.deb ... #6 17.50 Unpacking libinput10:amd64 (1.20.0-1ubuntu0.3) ... #6 17.55 Selecting previously unselected package libmd4c0:amd64. #6 17.56 Preparing to unpack .../13-libmd4c0_0.4.8-1_amd64.deb ... #6 17.57 Unpacking libmd4c0:amd64 (0.4.8-1) ... #6 17.63 Selecting previously unselected package libqt5dbus5:amd64. #6 17.64 Preparing to unpack .../14-libqt5dbus5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 17.65 Unpacking libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 17.71 Selecting previously unselected package libqt5network5:amd64. #6 17.72 Preparing to unpack .../15-libqt5network5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 17.73 Unpacking libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 17.80 Selecting previously unselected package libxcb-icccm4:amd64. #6 17.81 Preparing to unpack .../16-libxcb-icccm4_0.4.1-1.1build2_amd64.deb ... #6 17.82 Unpacking libxcb-icccm4:amd64 (0.4.1-1.1build2) ... #6 17.87 Selecting previously unselected package libxcb-util1:amd64. #6 17.88 Preparing to unpack .../17-libxcb-util1_0.4.0-1build2_amd64.deb ... #6 17.89 Unpacking libxcb-util1:amd64 (0.4.0-1build2) ... #6 17.95 Selecting previously unselected package libxcb-image0:amd64. #6 17.96 Preparing to unpack .../18-libxcb-image0_0.4.0-2_amd64.deb ... #6 17.97 Unpacking libxcb-image0:amd64 (0.4.0-2) ... #6 18.02 Selecting previously unselected package libxcb-keysyms1:amd64. #6 18.03 Preparing to unpack .../19-libxcb-keysyms1_0.4.0-1build3_amd64.deb ... #6 18.04 Unpacking libxcb-keysyms1:amd64 (0.4.0-1build3) ... #6 18.10 Selecting previously unselected package libxcb-render-util0:amd64. #6 18.11 Preparing to unpack .../20-libxcb-render-util0_0.3.9-1build3_amd64.deb ... #6 18.11 Unpacking libxcb-render-util0:amd64 (0.3.9-1build3) ... #6 18.17 Selecting previously unselected package libxcb-xinerama0:amd64. #6 18.18 Preparing to unpack .../21-libxcb-xinerama0_1.14-3ubuntu3_amd64.deb ... #6 18.19 Unpacking libxcb-xinerama0:amd64 (1.14-3ubuntu3) ... #6 18.24 Selecting previously unselected package libxcb-xinput0:amd64. #6 18.25 Preparing to unpack .../22-libxcb-xinput0_1.14-3ubuntu3_amd64.deb ... #6 18.26 Unpacking libxcb-xinput0:amd64 (1.14-3ubuntu3) ... #6 18.32 Selecting previously unselected package libxcb-xkb1:amd64. #6 18.33 Preparing to unpack .../23-libxcb-xkb1_1.14-3ubuntu3_amd64.deb ... #6 18.33 Unpacking libxcb-xkb1:amd64 (1.14-3ubuntu3) ... #6 18.39 Selecting previously unselected package libxkbcommon-x11-0:amd64. #6 18.40 Preparing to unpack .../24-libxkbcommon-x11-0_1.4.0-1_amd64.deb ... #6 18.41 Unpacking libxkbcommon-x11-0:amd64 (1.4.0-1) ... #6 18.48 Selecting previously unselected package libqt5gui5:amd64. #6 18.49 Preparing to unpack .../25-libqt5gui5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 18.51 Unpacking libqt5gui5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 18.66 Selecting previously unselected package libqt5widgets5:amd64. #6 18.67 Preparing to unpack .../26-libqt5widgets5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 18.67 Unpacking libqt5widgets5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 18.77 Selecting previously unselected package libqt5svg5:amd64. #6 18.78 Preparing to unpack .../27-libqt5svg5_5.15.3-1_amd64.deb ... #6 18.79 Unpacking libqt5svg5:amd64 (5.15.3-1) ... #6 18.85 Selecting previously unselected package aspell-en. #6 18.85 Preparing to unpack .../28-aspell-en_2018.04.16-0-1_all.deb ... #6 18.86 Unpacking aspell-en (2018.04.16-0-1) ... #6 18.96 Selecting previously unselected package binfmt-support. #6 18.97 Preparing to unpack .../29-binfmt-support_2.2.1-2_amd64.deb ... #6 18.98 Unpacking binfmt-support (2.2.1-2) ... #6 19.16 Selecting previously unselected package default-jre-headless. #6 19.17 Preparing to unpack .../30-default-jre-headless_2%3a1.11-72build2_amd64.deb ... #6 19.17 Unpacking default-jre-headless (2:1.11-72build2) ... #6 19.23 Selecting previously unselected package fastjar. #6 19.24 Preparing to unpack .../31-fastjar_2%3a0.98-7_amd64.deb ... #6 19.24 Unpacking fastjar (2:0.98-7) ... #6 19.35 Selecting previously unselected package jarwrapper. #6 19.36 Preparing to unpack .../32-jarwrapper_0.78_all.deb ... #6 19.37 Unpacking jarwrapper (0.78) ... #6 19.42 Selecting previously unselected package libhamcrest-java. #6 19.43 Preparing to unpack .../33-libhamcrest-java_1.3-9_all.deb ... #6 19.43 Unpacking libhamcrest-java (1.3-9) ... #6 19.52 Selecting previously unselected package junit4. #6 19.53 Preparing to unpack .../34-junit4_4.13.2-1_all.deb ... #6 19.54 Unpacking junit4 (4.13.2-1) ... #6 19.59 Selecting previously unselected package java-wrappers. #6 19.60 Preparing to unpack .../35-java-wrappers_0.3_all.deb ... #6 19.60 Unpacking java-wrappers (0.3) ... #6 19.65 Selecting previously unselected package libjaxp1.3-java. #6 19.66 Preparing to unpack .../36-libjaxp1.3-java_1.3.05-6_all.deb ... #6 19.67 Unpacking libjaxp1.3-java (1.3.05-6) ... #6 19.74 Selecting previously unselected package libxml-commons-external-java. #6 19.75 Preparing to unpack .../37-libxml-commons-external-java_1.4.01-5_all.deb ... #6 19.76 Unpacking libxml-commons-external-java (1.4.01-5) ... #6 19.83 Selecting previously unselected package libxml-commons-resolver1.1-java. #6 19.84 Preparing to unpack .../38-libxml-commons-resolver1.1-java_1.2-11_all.deb ... #6 19.85 Unpacking libxml-commons-resolver1.1-java (1.2-11) ... #6 19.91 Selecting previously unselected package libxerces2-java. #6 19.92 Preparing to unpack .../39-libxerces2-java_2.12.1-1_all.deb ... #6 19.93 Unpacking libxerces2-java (2.12.1-1) ... #6 20.10 Selecting previously unselected package libxalan2-java. #6 20.11 Preparing to unpack .../40-libxalan2-java_2.7.2-4_all.deb ... #6 20.12 Unpacking libxalan2-java (2.7.2-4) ... #6 20.46 Selecting previously unselected package libapache-pom-java. #6 20.47 Preparing to unpack .../41-libapache-pom-java_18-1_all.deb ... #6 20.47 Unpacking libapache-pom-java (18-1) ... #6 20.52 Selecting previously unselected package libcommons-parent-java. #6 20.53 Preparing to unpack .../42-libcommons-parent-java_43-1_all.deb ... #6 20.54 Unpacking libcommons-parent-java (43-1) ... #6 20.58 Selecting previously unselected package libcommons-io-java. #6 20.59 Preparing to unpack .../43-libcommons-io-java_2.11.0-2_all.deb ... #6 20.60 Unpacking libcommons-io-java (2.11.0-2) ... #6 20.65 Selecting previously unselected package libcommons-logging-java. #6 20.66 Preparing to unpack .../44-libcommons-logging-java_1.2-2_all.deb ... #6 20.67 Unpacking libcommons-logging-java (1.2-2) ... #6 20.72 Selecting previously unselected package libxmlgraphics-commons-java. #6 20.73 Preparing to unpack .../45-libxmlgraphics-commons-java_2.6-1_all.deb ... #6 20.74 Unpacking libxmlgraphics-commons-java (2.6-1) ... #6 20.79 Selecting previously unselected package libbatik-java. #6 20.80 Preparing to unpack .../46-libbatik-java_1.14-1ubuntu0.2_all.deb ... #6 20.81 Unpacking libbatik-java (1.14-1ubuntu0.2) ... #6 20.92 Selecting previously unselected package libcommons-cli-java. #6 20.93 Preparing to unpack .../47-libcommons-cli-java_1.4-2_all.deb ... #6 20.94 Unpacking libcommons-cli-java (1.4-2) ... #6 21.00 Selecting previously unselected package libjericho-html-java. #6 21.01 Preparing to unpack .../48-libjericho-html-java_3.2-2_all.deb ... #6 21.01 Unpacking libjericho-html-java (3.2-2) ... #6 21.07 Selecting previously unselected package ditaa. #6 21.08 Preparing to unpack .../49-ditaa_0.10+ds1-1.2_all.deb ... #6 21.09 Unpacking ditaa (0.10+ds1-1.2) ... #6 21.15 Selecting previously unselected package fontforge-common. #6 21.16 Preparing to unpack .../50-fontforge-common_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_all.deb ... #6 21.17 Unpacking fontforge-common (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 22.75 Selecting previously unselected package libspiro1:amd64. #6 22.76 Preparing to unpack .../51-libspiro1_1%3a20200505-2_amd64.deb ... #6 22.76 Unpacking libspiro1:amd64 (1:20200505-2) ... #6 22.82 Selecting previously unselected package libuninameslist1:amd64. #6 22.83 Preparing to unpack .../52-libuninameslist1_20211114-1_amd64.deb ... #6 22.84 Unpacking libuninameslist1:amd64 (20211114-1) ... #6 22.91 Selecting previously unselected package libwoff1:amd64. #6 22.92 Preparing to unpack .../53-libwoff1_1.0.2-1build4_amd64.deb ... #6 22.93 Unpacking libwoff1:amd64 (1.0.2-1build4) ... #6 22.98 Selecting previously unselected package libfontforge4:amd64. #6 22.99 Preparing to unpack .../54-libfontforge4_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_amd64.deb ... #6 23.00 Unpacking libfontforge4:amd64 (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 23.09 Selecting previously unselected package fontforge. #6 23.10 Preparing to unpack .../55-fontforge_1%3a20201107~dfsg-4+deb11u1build0.22.04.1_amd64.deb ... #6 23.11 Unpacking fontforge (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 23.21 Selecting previously unselected package fonts-cantarell. #6 23.22 Preparing to unpack .../56-fonts-cantarell_0.303-2_all.deb ... #6 23.23 Unpacking fonts-cantarell (0.303-2) ... #6 23.29 Selecting previously unselected package fonts-inconsolata. #6 23.30 Preparing to unpack .../57-fonts-inconsolata_001.010-6build1_all.deb ... #6 23.31 Unpacking fonts-inconsolata (001.010-6build1) ... #6 23.36 Selecting previously unselected package fonts-liberation. #6 23.37 Preparing to unpack .../58-fonts-liberation_1%3a1.07.4-11_all.deb ... #6 23.38 Unpacking fonts-liberation (1:1.07.4-11) ... #6 23.50 Selecting previously unselected package aglfn. #6 23.51 Preparing to unpack .../59-aglfn_1.7+git20191031.4036a9c-2_all.deb ... #6 23.52 Unpacking aglfn (1.7+git20191031.4036a9c-2) ... #6 23.56 Selecting previously unselected package gnuplot-data. #6 23.57 Preparing to unpack .../60-gnuplot-data_5.4.2+dfsg2-2_all.deb ... #6 23.58 Unpacking gnuplot-data (5.4.2+dfsg2-2) ... #6 23.64 Selecting previously unselected package liblua5.4-0:amd64. #6 23.65 Preparing to unpack .../61-liblua5.4-0_5.4.4-1_amd64.deb ... #6 23.66 Unpacking liblua5.4-0:amd64 (5.4.4-1) ... #6 23.72 Selecting previously unselected package libqt5printsupport5:amd64. #6 23.73 Preparing to unpack .../62-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 23.74 Unpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 23.80 Selecting previously unselected package libwxbase3.0-0v5:amd64. #6 23.81 Preparing to unpack .../63-libwxbase3.0-0v5_3.0.5.1+dfsg-4_amd64.deb ... #6 23.81 Unpacking libwxbase3.0-0v5:amd64 (3.0.5.1+dfsg-4) ... #6 23.89 Selecting previously unselected package libnotify4:amd64. #6 23.90 Preparing to unpack .../64-libnotify4_0.7.9-3ubuntu5.22.04.1_amd64.deb ... #6 23.91 Unpacking libnotify4:amd64 (0.7.9-3ubuntu5.22.04.1) ... #6 23.96 Selecting previously unselected package libwxgtk3.0-gtk3-0v5:amd64. #6 23.97 Preparing to unpack .../65-libwxgtk3.0-gtk3-0v5_3.0.5.1+dfsg-4_amd64.deb ... #6 23.98 Unpacking libwxgtk3.0-gtk3-0v5:amd64 (3.0.5.1+dfsg-4) ... #6 24.12 Selecting previously unselected package gnuplot-qt. #6 24.13 Preparing to unpack .../66-gnuplot-qt_5.4.2+dfsg2-2_amd64.deb ... #6 24.14 Unpacking gnuplot-qt (5.4.2+dfsg2-2) ... #6 24.21 Selecting previously unselected package gnuplot. #6 24.21 Preparing to unpack .../67-gnuplot_5.4.2+dfsg2-2_all.deb ... #6 24.22 Unpacking gnuplot (5.4.2+dfsg2-2) ... #6 24.27 Selecting previously unselected package libann0. #6 24.28 Preparing to unpack .../68-libann0_1.1.2+doc-7build1_amd64.deb ... #6 24.29 Unpacking libann0 (1.1.2+doc-7build1) ... #6 24.35 Selecting previously unselected package libcdt5:amd64. #6 24.36 Preparing to unpack .../69-libcdt5_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.36 Unpacking libcdt5:amd64 (2.42.2-6ubuntu0.1) ... #6 24.42 Selecting previously unselected package libcgraph6:amd64. #6 24.43 Preparing to unpack .../70-libcgraph6_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.44 Unpacking libcgraph6:amd64 (2.42.2-6ubuntu0.1) ... #6 24.50 Selecting previously unselected package libgts-0.7-5:amd64. #6 24.51 Preparing to unpack .../71-libgts-0.7-5_0.7.6+darcs121130-5_amd64.deb ... #6 24.51 Unpacking libgts-0.7-5:amd64 (0.7.6+darcs121130-5) ... #6 24.57 Selecting previously unselected package libpathplan4:amd64. #6 24.58 Preparing to unpack .../72-libpathplan4_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.59 Unpacking libpathplan4:amd64 (2.42.2-6ubuntu0.1) ... #6 24.65 Selecting previously unselected package libgvc6. #6 24.66 Preparing to unpack .../73-libgvc6_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.67 Unpacking libgvc6 (2.42.2-6ubuntu0.1) ... #6 24.74 Selecting previously unselected package libgvpr2:amd64. #6 24.75 Preparing to unpack .../74-libgvpr2_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.75 Unpacking libgvpr2:amd64 (2.42.2-6ubuntu0.1) ... #6 24.81 Selecting previously unselected package liblab-gamut1:amd64. #6 24.82 Preparing to unpack .../75-liblab-gamut1_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.82 Unpacking liblab-gamut1:amd64 (2.42.2-6ubuntu0.1) ... #6 24.89 Selecting previously unselected package graphviz. #6 24.90 Preparing to unpack .../76-graphviz_2.42.2-6ubuntu0.1_amd64.deb ... #6 24.91 Unpacking graphviz (2.42.2-6ubuntu0.1) ... #6 24.98 Selecting previously unselected package icc-profiles-free. #6 24.99 Preparing to unpack .../77-icc-profiles-free_2.0.1+dfsg-1.1_all.deb ... #6 25.00 Unpacking icc-profiles-free (2.0.1+dfsg-1.1) ... #6 25.08 Selecting previously unselected package libavalon-framework-java. #6 25.09 Preparing to unpack .../78-libavalon-framework-java_4.2.0-10_all.deb ... #6 25.09 Unpacking libavalon-framework-java (4.2.0-10) ... #6 25.17 Selecting previously unselected package libblas3:amd64. #6 25.18 Preparing to unpack .../79-libblas3_3.10.0-2ubuntu1_amd64.deb ... #6 25.18 Unpacking libblas3:amd64 (3.10.0-2ubuntu1) ... #6 25.25 Selecting previously unselected package libblas-dev:amd64. #6 25.26 Preparing to unpack .../80-libblas-dev_3.10.0-2ubuntu1_amd64.deb ... #6 25.26 Unpacking libblas-dev:amd64 (3.10.0-2ubuntu1) ... #6 25.32 Selecting previously unselected package libfontbox2-java. #6 25.33 Preparing to unpack .../81-libfontbox2-java_2.0.25-1_all.deb ... #6 25.34 Unpacking libfontbox2-java (2.0.25-1) ... #6 25.42 Selecting previously unselected package libqdox-java. #6 25.43 Preparing to unpack .../82-libqdox-java_1.12.1-3_all.deb ... #6 25.44 Unpacking libqdox-java (1.12.1-3) ... #6 25.50 Selecting previously unselected package libfop-java. #6 25.51 Preparing to unpack .../83-libfop-java_1%3a2.6-2_all.deb ... #6 25.52 Unpacking libfop-java (1:2.6-2) ... #6 25.71 Selecting previously unselected package libgfortran5:amd64. #6 25.72 Preparing to unpack .../84-libgfortran5_12.3.0-1ubuntu1~22.04_amd64.deb ... #6 25.72 Unpacking libgfortran5:amd64 (12.3.0-1ubuntu1~22.04) ... #6 25.77 Selecting previously unselected package libgts-bin. #6 25.78 Preparing to unpack .../85-libgts-bin_0.7.6+darcs121130-5_amd64.deb ... #6 25.78 Unpacking libgts-bin (0.7.6+darcs121130-5) ... #6 25.82 Selecting previously unselected package libjlatexmath-java. #6 25.83 Preparing to unpack .../86-libjlatexmath-java_1.0.7-3_all.deb ... #6 25.83 Unpacking libjlatexmath-java (1.0.7-3) ... #6 25.95 Selecting previously unselected package liblapack3:amd64. #6 25.96 Preparing to unpack .../87-liblapack3_3.10.0-2ubuntu1_amd64.deb ... #6 25.96 Unpacking liblapack3:amd64 (3.10.0-2ubuntu1) ... #6 26.05 Selecting previously unselected package liblapack-dev:amd64. #6 26.06 Preparing to unpack .../88-liblapack-dev_3.10.0-2ubuntu1_amd64.deb ... #6 26.06 Unpacking liblapack-dev:amd64 (3.10.0-2ubuntu1) ... #6 26.22 Selecting previously unselected package libsaxon-java. #6 26.23 Preparing to unpack .../89-libsaxon-java_1%3a6.5.5-12_all.deb ... #6 26.23 Unpacking libsaxon-java (1:6.5.5-12) ... #6 26.31 Selecting previously unselected package libwacom-bin. #6 26.32 Preparing to unpack .../90-libwacom-bin_2.2.0-1_amd64.deb ... #6 26.33 Unpacking libwacom-bin (2.2.0-1) ... #6 26.37 Preparing to unpack .../91-libxml2-utils_2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ... #6 26.38 Unpacking libxml2-utils (2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1) over (2.9.13+dfsg-1ubuntu0.6) ... #6 26.46 Selecting previously unselected package plantuml. #6 26.47 Preparing to unpack .../92-plantuml_1%3a1.2020.2+ds-1ubuntu0.1_all.deb ... #6 26.47 Unpacking plantuml (1:1.2020.2+ds-1ubuntu0.1) ... #6 26.55 Selecting previously unselected package qt5-gtk-platformtheme:amd64. #6 26.55 Preparing to unpack .../93-qt5-gtk-platformtheme_5.15.3+dfsg-2ubuntu0.2_amd64.deb ... #6 26.56 Unpacking qt5-gtk-platformtheme:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 26.60 Selecting previously unselected package qttranslations5-l10n. #6 26.61 Preparing to unpack .../94-qttranslations5-l10n_5.15.3-1_all.deb ... #6 26.61 Unpacking qttranslations5-l10n (5.15.3-1) ... #6 26.76 Selecting previously unselected package shellcheck. #6 26.77 Preparing to unpack .../95-shellcheck_0.8.0-2_amd64.deb ... #6 26.77 Unpacking shellcheck (0.8.0-2) ... #6 26.93 Setting up fastjar (2:0.98-7) ... #6 27.11 Setting up libwayland-server0:amd64 (1.20.0-1ubuntu0.1) ... #6 27.13 Setting up fonts-cantarell (0.303-2) ... #6 27.14 Setting up libqdox-java (1.12.1-3) ... #6 27.16 Setting up java-wrappers (0.3) ... #6 27.17 Setting up default-jre-headless (2:1.11-72build2) ... #6 27.20 Setting up libxcb-xinput0:amd64 (1.14-3ubuntu3) ... #6 27.22 Setting up libwoff1:amd64 (1.0.2-1build4) ... #6 27.25 Setting up libgbm1:amd64 (23.2.1-1ubuntu3.1~22.04.3) ... #6 27.28 Setting up libcommons-cli-java (1.4-2) ... #6 27.29 Setting up libsaxon-java (1:6.5.5-12) ... #6 27.32 Setting up libspiro1:amd64 (1:20200505-2) ... #6 27.34 Setting up liblab-gamut1:amd64 (2.42.2-6ubuntu0.1) ... #6 27.36 Setting up libxcb-keysyms1:amd64 (0.4.0-1build3) ... #6 27.38 Setting up aspell-en (2018.04.16-0-1) ... #6 27.65 Setting up libxcb-render-util0:amd64 (0.3.9-1build3) ... #6 27.67 Setting up fontforge-common (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 27.69 Setting up libxcb-icccm4:amd64 (0.4.1-1.1build2) ... #6 27.71 Setting up libpcre2-16-0:amd64 (10.42-3+ubuntu22.04.1+deb.sury.org+1) ... #6 27.73 Setting up shellcheck (0.8.0-2) ... #6 27.76 Setting up libxcb-util1:amd64 (0.4.0-1build2) ... #6 27.77 Setting up libjericho-html-java (3.2-2) ... #6 27.80 Setting up libxcb-xkb1:amd64 (1.14-3ubuntu3) ... #6 27.82 Setting up libxcb-image0:amd64 (0.4.0-2) ... #6 27.84 Setting up fonts-inconsolata (001.010-6build1) ... #6 27.86 Setting up libfontbox2-java (2.0.25-1) ... #6 27.88 Setting up libgts-0.7-5:amd64 (0.7.6+darcs121130-5) ... #6 27.90 Setting up libblas3:amd64 (3.10.0-2ubuntu1) ... #6 27.92 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 27.94 Setting up libegl-mesa0:amd64 (23.2.1-1ubuntu3.1~22.04.3) ... #6 27.96 Setting up libxcb-xinerama0:amd64 (1.14-3ubuntu3) ... #6 27.98 Setting up qttranslations5-l10n (5.15.3-1) ... #6 28.00 Setting up libnotify4:amd64 (0.7.9-3ubuntu5.22.04.1) ... #6 28.02 Setting up libpathplan4:amd64 (2.42.2-6ubuntu0.1) ... #6 28.04 Setting up aglfn (1.7+git20191031.4036a9c-2) ... #6 28.06 Setting up libapache-pom-java (18-1) ... #6 28.09 Setting up libann0 (1.1.2+doc-7build1) ... #6 28.11 Setting up libxkbcommon-x11-0:amd64 (1.4.0-1) ... #6 28.13 Setting up icc-profiles-free (2.0.1+dfsg-1.1) ... #6 28.15 Setting up libxml-commons-resolver1.1-java (1.2-11) ... #6 28.18 Setting up binfmt-support (2.2.1-2) ... #6 28.27 invoke-rc.d: could not determine current runlevel #6 28.27 invoke-rc.d: policy-rc.d denied execution of restart. #6 28.47 Created symlink /etc/systemd/system/multi-user.target.wants/binfmt-support.service → /lib/systemd/system/binfmt-support.service. #6 28.48 Setting up libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 28.51 Setting up libhamcrest-java (1.3-9) ... #6 28.53 Setting up libgfortran5:amd64 (12.3.0-1ubuntu1~22.04) ... #6 28.55 Setting up libmtdev1:amd64 (1.1.6-1build4) ... #6 28.57 Setting up libuninameslist1:amd64 (20211114-1) ... #6 28.59 Setting up libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 28.61 Setting up libxml-commons-external-java (1.4.01-5) ... #6 28.63 Setting up fonts-liberation (1:1.07.4-11) ... #6 28.65 Setting up libegl1:amd64 (1.4.0-1) ... #6 28.67 Setting up libavalon-framework-java (4.2.0-10) ... #6 28.70 Setting up libmd4c0:amd64 (0.4.8-1) ... #6 28.72 Setting up liblua5.4-0:amd64 (5.4.4-1) ... #6 28.74 Setting up libwxbase3.0-0v5:amd64 (3.0.5.1+dfsg-4) ... #6 28.76 Setting up libcdt5:amd64 (2.42.2-6ubuntu0.1) ... #6 28.78 Setting up libcgraph6:amd64 (2.42.2-6ubuntu0.1) ... #6 28.80 Setting up libjlatexmath-java (1.0.7-3) ... #6 28.82 Setting up libxerces2-java (2.12.1-1) ... #6 28.84 Setting up libjaxp1.3-java (1.3.05-6) ... #6 28.86 Setting up libxml2-utils (2.9.14+dfsg-0.1+ubuntu22.04.1+deb.sury.org+1) ... #6 28.88 Setting up libevdev2:amd64 (1.12.1+dfsg-1) ... #6 28.90 Setting up libgudev-1.0-0:amd64 (1:237-2build1) ... #6 28.92 Setting up libblas-dev:amd64 (3.10.0-2ubuntu1) ... #6 28.94 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 28.96 Setting up libwacom-common (2.2.0-1) ... #6 28.98 Setting up junit4 (4.13.2-1) ... #6 29.00 Setting up gnuplot-data (5.4.2+dfsg2-2) ... #6 29.02 Setting up libgts-bin (0.7.6+darcs121130-5) ... #6 29.05 Setting up liblapack3:amd64 (3.10.0-2ubuntu1) ... #6 29.06 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 29.08 Setting up jarwrapper (0.78) ... #6 29.10 Setting up libwacom9:amd64 (2.2.0-1) ... #6 29.12 Setting up libcommons-parent-java (43-1) ... #6 29.14 Setting up libcommons-logging-java (1.2-2) ... #6 29.16 Setting up libfontforge4:amd64 (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 29.18 Setting up libwxgtk3.0-gtk3-0v5:amd64 (3.0.5.1+dfsg-4) ... #6 29.21 Setting up libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 29.23 Setting up libinput-bin (1.20.0-1ubuntu0.3) ... #6 29.25 Setting up libxalan2-java (2.7.2-4) ... #6 29.27 Setting up liblapack-dev:amd64 (3.10.0-2ubuntu1) ... #6 29.29 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 29.31 Setting up libgvc6 (2.42.2-6ubuntu0.1) ... #6 29.63 Setting up libwacom-bin (2.2.0-1) ... #6 29.65 Setting up libgvpr2:amd64 (2.42.2-6ubuntu0.1) ... #6 29.67 Setting up graphviz (2.42.2-6ubuntu0.1) ... #6 29.69 Setting up libinput10:amd64 (1.20.0-1ubuntu0.3) ... #6 29.72 Setting up fontforge (1:20201107~dfsg-4+deb11u1build0.22.04.1) ... #6 29.76 Setting up libcommons-io-java (2.11.0-2) ... #6 29.77 Setting up libqt5gui5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 29.80 Setting up libxmlgraphics-commons-java (2.6-1) ... #6 29.82 Setting up libqt5widgets5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 29.84 Setting up qt5-gtk-platformtheme:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 29.86 Setting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ... #6 29.89 Setting up libbatik-java (1.14-1ubuntu0.2) ... #6 29.91 Setting up libqt5svg5:amd64 (5.15.3-1) ... #6 29.93 Setting up gnuplot-qt (5.4.2+dfsg2-2) ... #6 29.95 update-alternatives: using /usr/bin/gnuplot-qt to provide /usr/bin/gnuplot (gnuplot) in auto mode #6 29.95 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 29.97 Setting up ditaa (0.10+ds1-1.2) ... #6 29.99 Setting up gnuplot (5.4.2+dfsg2-2) ... #6 30.01 Setting up libfop-java (1:2.6-2) ... #6 30.03 Setting up plantuml (1:1.2020.2+ds-1ubuntu0.1) ... #6 30.05 Processing triggers for hicolor-icon-theme (0.17-2) ... #6 32.39 Processing triggers for libc-bin (2.35-0ubuntu3.8) ... #6 33.30 Processing triggers for man-db (2.10.2-1) ... #6 33.67 Processing triggers for shared-mime-info (2.1-2) ... #6 37.23 Processing triggers for mailcap (3.70+nmu1ubuntu1) ... #6 37.28 Processing triggers for fontconfig (2.13.1-4.2ubuntu5) ... #6 37.59 Processing triggers for dictionaries-common (1.28.14) ... #6 37.71 aspell-autobuildhash: processing: en [en-common]. #6 38.01 aspell-autobuildhash: processing: en [en-variant_0]. #6 38.02 aspell-autobuildhash: processing: en [en-variant_1]. #6 38.04 aspell-autobuildhash: processing: en [en-variant_2]. #6 38.05 aspell-autobuildhash: processing: en [en-w_accents-only]. #6 38.07 aspell-autobuildhash: processing: en [en-wo_accents-only]. #6 38.08 aspell-autobuildhash: processing: en [en_AU-variant_0]. #6 38.09 aspell-autobuildhash: processing: en [en_AU-variant_1]. #6 38.10 aspell-autobuildhash: processing: en [en_AU-w_accents-only]. #6 38.11 aspell-autobuildhash: processing: en [en_AU-wo_accents-only]. #6 38.12 aspell-autobuildhash: processing: en [en_CA-variant_0]. #6 38.13 aspell-autobuildhash: processing: en [en_CA-variant_1]. #6 38.14 aspell-autobuildhash: processing: en [en_CA-w_accents-only]. #6 38.16 aspell-autobuildhash: processing: en [en_CA-wo_accents-only]. #6 38.17 aspell-autobuildhash: processing: en [en_GB-ise-w_accents-only]. #6 38.18 aspell-autobuildhash: processing: en [en_GB-ise-wo_accents-only]. #6 38.19 aspell-autobuildhash: processing: en [en_GB-ize-w_accents-only]. #6 38.20 aspell-autobuildhash: processing: en [en_GB-ize-wo_accents-only]. #6 38.22 aspell-autobuildhash: processing: en [en_GB-variant_0]. #6 38.23 aspell-autobuildhash: processing: en [en_GB-variant_1]. #6 38.24 aspell-autobuildhash: processing: en [en_US-w_accents-only]. #6 38.25 aspell-autobuildhash: processing: en [en_US-wo_accents-only]. #6 39.05 PlantUML version 1.2020.02 (Sun Mar 01 10:22:07 UTC 2020) #6 39.06 (GPL source distribution) #6 39.07 Java Runtime: OpenJDK Runtime Environment #6 39.07 JVM: OpenJDK 64-Bit Server VM #6 39.07 Java Version: 17.0.14+7-Ubuntu-122.04.1 #6 39.07 Operating System: Linux #6 39.07 Default Encoding: UTF-8 #6 39.07 Language: en #6 39.07 Country: US #6 39.08 Machine: buildkitsandbox #6 39.08 PLANTUML_LIMIT_SIZE: 4096 #6 39.08 Processors: 1 #6 39.08 Max Memory: 496,697,344 #6 39.08 Total Memory: 32,440,320 #6 39.08 Free Memory: 26,224,680 #6 39.08 Used Memory: 6,215,640 #6 39.08 Thread Active Count: 1 #6 39.08 #6 39.18 The environment variable GRAPHVIZ_DOT has not been set #6 39.18 Dot executable is /usr/bin/dot #6 39.18 Dot version: dot - graphviz version 2.43.0 (0) #6 39.18 Installation seems OK. File generation OK #6 39.19 @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8) #6 39.21 Copyright (c) 2000-2024. See AUTHORS for Contributors. #6 39.21 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> #6 39.21 with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE. #6 39.21 Version: 20201107 #6 39.21 Based on sources from 2024-06-24 13:55 UTC-ML-D-GDK3. #6 39.21 PythonUI_Init() #6 39.21 copyUIMethodsToBaseTable() #6 39.23 fontforge 20201107 #6 39.23 build date: 2024-06-24 13:55 UTC #6 39.30 gnuplot 5.4 patchlevel 2 #6 39.54 cmake version 3.22.1 #6 39.54 #6 39.54 CMake suite maintained and supported by Kitware (kitware.com/cmake). #6 39.54 ShellCheck - shell script analysis tool #6 39.54 version: 0.8.0 #6 39.54 license: GNU General Public License, version 3 #6 39.54 website: https://www.shellcheck.net #6 DONE 39.7s #7 [3/9] RUN npm install -g eslint@8.44.0 && eslint --version #7 6.614 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 6.749 npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported #7 6.760 npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead #7 6.795 npm warn deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead #7 6.811 npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported #7 7.099 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.117 #7 7.117 added 98 packages in 6s #7 7.117 #7 7.118 24 packages are looking for funding #7 7.118 run `npm fund` for details #7 7.120 npm notice #7 7.120 npm notice New major version of npm available! 10.8.2 -> 11.2.0 #7 7.120 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.2.0 #7 7.120 npm notice To update run: npm install -g npm@11.2.0 #7 7.120 npm notice #7 7.406 v8.44.0 #7 DONE 7.5s #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.363 Cloning into '_tidy-html5'... #8 2.673 Note: switching to '5.8.0'. #8 2.673 #8 2.673 You are in 'detached HEAD' state. You can look around, make experimental #8 2.673 changes and commit them, and you can discard any commits you make in this #8 2.673 state without impacting any branches by switching back to a branch. #8 2.673 #8 2.673 If you want to create a new branch to retain commits you create, you may #8 2.673 do so (now or later) by using -c with the switch command. Example: #8 2.673 #8 2.673 git switch -c <new-branch-name> #8 2.673 #8 2.673 Or undo this operation with: #8 2.673 #8 2.673 git switch - #8 2.673 #8 2.673 Turn off this advice by setting config variable advice.detachedHead to false #8 2.673 #8 2.674 HEAD is now at 1ca3747 Merging gitignore; no version bump. #8 3.033 -- The C compiler identification is GNU 11.4.0 #8 3.270 -- The CXX compiler identification is GNU 11.4.0 #8 3.301 -- Detecting C compiler ABI info #8 3.394 -- Detecting C compiler ABI info - done #8 3.404 -- Check for working C compiler: /usr/bin/cc - skipped #8 3.407 -- Detecting C compile features #8 3.408 -- Detecting C compile features - done #8 3.415 -- Detecting CXX compiler ABI info #8 3.506 -- Detecting CXX compiler ABI info - done #8 3.516 -- Check for working CXX compiler: /usr/bin/c++ - skipped #8 3.517 -- Detecting CXX compile features #8 3.518 -- Detecting CXX compile features - done #8 3.520 -> TIDY_SO_VERSION = 58. This is an EVEN (stable) release. #8 3.520 -- *** Debug Logging is NOT enabled. #8 3.520 -- *** Building support for runtime configuration files. #8 3.521 -- *** Also building DLL library SHARED, version 5.8.0, date 2021.07.10 #8 3.522 -- *** NOTE: xsltproc NOT FOUND! Can NOT generate man page. #8 3.523 -- *** You need to install xsltproc in your system. #8 3.536 -- Configuring done #8 3.550 -- Generating done #8 3.551 -- Build files have been written to: /tmp/_tidy-html5/build/cmake #8 3.594 [ 1%] Building C object CMakeFiles/tidy-static.dir/src/access.c.o #8 3.674 /tmp/_tidy-html5/src/access.c:892:40: warning: argument 2 of type ‘int[]’ with mismatched bound [-Warray-parameter=] #8 3.674 892 | static Bool GetRgb( ctmbstr color, int rgb[] ) #8 3.674 | ~~~~^~~~~ #8 3.675 /tmp/_tidy-html5/src/access.c:380:40: note: previously declared as ‘int[3]’ #8 3.675 380 | static Bool GetRgb( ctmbstr color, int rgb[3] ); #8 3.675 | ~~~~^~~~~~ #8 3.812 [ 3%] Building C object CMakeFiles/tidy-static.dir/src/attrs.c.o #8 3.854 /tmp/_tidy-html5/src/attrs.c: In function ‘CheckDecimal’: #8 3.856 /tmp/_tidy-html5/src/attrs.c:2300:13: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] #8 3.856 2300 | else #8 3.856 | ^~~~ #8 3.856 /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.856 2302 | break; #8 3.856 | ^~~~~ #8 3.971 [ 5%] Building C object CMakeFiles/tidy-static.dir/src/istack.c.o #8 4.029 [ 7%] Building C object CMakeFiles/tidy-static.dir/src/parser.c.o #8 4.255 [ 8%] Building C object CMakeFiles/tidy-static.dir/src/tags.c.o #8 4.340 [ 10%] Building C object CMakeFiles/tidy-static.dir/src/entities.c.o #8 4.413 [ 12%] Building C object CMakeFiles/tidy-static.dir/src/lexer.c.o #8 4.605 [ 14%] Building C object CMakeFiles/tidy-static.dir/src/pprint.c.o #8 4.750 [ 16%] Building C object CMakeFiles/tidy-static.dir/src/charsets.c.o #8 4.802 [ 17%] Building C object CMakeFiles/tidy-static.dir/src/clean.c.o #8 4.956 [ 19%] Building C object CMakeFiles/tidy-static.dir/src/message.c.o #8 5.067 [ 21%] Building C object CMakeFiles/tidy-static.dir/src/config.c.o #8 5.202 [ 23%] Building C object CMakeFiles/tidy-static.dir/src/alloc.c.o #8 5.243 [ 25%] Building C object CMakeFiles/tidy-static.dir/src/attrdict.c.o #8 5.609 [ 26%] Building C object CMakeFiles/tidy-static.dir/src/buffio.c.o #8 5.659 [ 28%] Building C object CMakeFiles/tidy-static.dir/src/fileio.c.o #8 5.701 [ 30%] Building C object CMakeFiles/tidy-static.dir/src/streamio.c.o #8 5.791 [ 32%] Building C object CMakeFiles/tidy-static.dir/src/tagask.c.o #8 5.836 [ 33%] Building C object CMakeFiles/tidy-static.dir/src/tmbstr.c.o #8 5.886 [ 35%] Building C object CMakeFiles/tidy-static.dir/src/utf8.c.o #8 5.937 [ 37%] Building C object CMakeFiles/tidy-static.dir/src/tidylib.c.o #8 6.096 [ 39%] Building C object CMakeFiles/tidy-static.dir/src/mappedio.c.o #8 6.143 [ 41%] Building C object CMakeFiles/tidy-static.dir/src/gdoc.c.o #8 6.191 [ 42%] Building C object CMakeFiles/tidy-static.dir/src/language.c.o #8 6.275 [ 44%] Building C object CMakeFiles/tidy-static.dir/src/messageobj.c.o #8 6.351 [ 46%] Building C object CMakeFiles/tidy-static.dir/src/sprtf.c.o #8 6.391 [ 48%] Linking C static library libtidy.a #8 6.451 [ 48%] Built target tidy-static #8 6.472 [ 50%] Building C object CMakeFiles/tidy-share.dir/src/access.c.o #8 6.501 /tmp/_tidy-html5/src/access.c:892:40: warning: argument 2 of type ‘int[]’ with mismatched bound [-Warray-parameter=] #8 6.501 892 | static Bool GetRgb( ctmbstr color, int rgb[] ) #8 6.501 | ~~~~^~~~~ #8 6.501 /tmp/_tidy-html5/src/access.c:380:40: note: previously declared as ‘int[3]’ #8 6.501 380 | static Bool GetRgb( ctmbstr color, int rgb[3] ); #8 6.501 | ~~~~^~~~~~ #8 6.625 [ 51%] Building C object CMakeFiles/tidy-share.dir/src/attrs.c.o #8 6.666 /tmp/_tidy-html5/src/attrs.c: In function ‘CheckDecimal’: #8 6.666 /tmp/_tidy-html5/src/attrs.c:2300:13: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] #8 6.666 2300 | else #8 6.666 | ^~~~ #8 6.667 /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.667 2302 | break; #8 6.667 | ^~~~~ #8 6.781 [ 53%] Building C object CMakeFiles/tidy-share.dir/src/istack.c.o #8 6.839 [ 55%] Building C object CMakeFiles/tidy-share.dir/src/parser.c.o #8 7.058 [ 57%] Building C object CMakeFiles/tidy-share.dir/src/tags.c.o #8 7.143 [ 58%] Building C object CMakeFiles/tidy-share.dir/src/entities.c.o #8 7.216 [ 60%] Building C object CMakeFiles/tidy-share.dir/src/lexer.c.o #8 7.412 [ 62%] Building C object CMakeFiles/tidy-share.dir/src/pprint.c.o #8 7.559 [ 64%] Building C object CMakeFiles/tidy-share.dir/src/charsets.c.o #8 7.611 [ 66%] Building C object CMakeFiles/tidy-share.dir/src/clean.c.o #8 7.764 [ 67%] Building C object CMakeFiles/tidy-share.dir/src/message.c.o #8 7.862 [ 69%] Building C object CMakeFiles/tidy-share.dir/src/config.c.o #8 7.989 [ 71%] Building C object CMakeFiles/tidy-share.dir/src/alloc.c.o #8 8.031 [ 73%] Building C object CMakeFiles/tidy-share.dir/src/attrdict.c.o #8 8.355 [ 75%] Building C object CMakeFiles/tidy-share.dir/src/buffio.c.o #8 8.406 [ 76%] Building C object CMakeFiles/tidy-share.dir/src/fileio.c.o #8 8.448 [ 78%] Building C object CMakeFiles/tidy-share.dir/src/streamio.c.o #8 8.531 [ 80%] Building C object CMakeFiles/tidy-share.dir/src/tagask.c.o #8 8.575 [ 82%] Building C object CMakeFiles/tidy-share.dir/src/tmbstr.c.o #8 8.625 [ 83%] Building C object CMakeFiles/tidy-share.dir/src/utf8.c.o #8 8.677 [ 85%] Building C object CMakeFiles/tidy-share.dir/src/tidylib.c.o #8 8.834 [ 87%] Building C object CMakeFiles/tidy-share.dir/src/mappedio.c.o #8 8.877 [ 89%] Building C object CMakeFiles/tidy-share.dir/src/gdoc.c.o #8 8.925 [ 91%] Building C object CMakeFiles/tidy-share.dir/src/language.c.o #8 9.008 [ 92%] Building C object CMakeFiles/tidy-share.dir/src/messageobj.c.o #8 9.081 [ 94%] Building C object CMakeFiles/tidy-share.dir/src/sprtf.c.o #8 9.112 [ 96%] Linking C shared library libtidy.so #8 9.178 [ 96%] Built target tidy-share #8 9.197 [ 98%] Building C object CMakeFiles/tidy.dir/console/tidy.c.o #8 9.327 [100%] Linking C executable tidy #8 9.379 [100%] Built target tidy #8 9.426 Consolidate compiler generated dependencies of target tidy-static #8 9.439 [ 48%] Built target tidy-static #8 9.460 Consolidate compiler generated dependencies of target tidy-share #8 9.472 [ 96%] Built target tidy-share #8 9.483 Consolidate compiler generated dependencies of target tidy #8 9.492 [100%] Built target tidy #8 9.509 Install the project... #8 9.517 -- Install configuration: "" #8 9.518 -- Installing: /usr/local/lib/libtidy.a #8 9.521 -- Installing: /usr/local/include/tidyplatform.h #8 9.522 -- Installing: /usr/local/include/tidy.h #8 9.522 -- Installing: /usr/local/include/tidyenum.h #8 9.523 -- Installing: /usr/local/include/tidybuffio.h #8 9.523 -- Installing: /usr/local/lib/libtidy.so.5.8.0 #8 9.525 -- Installing: /usr/local/lib/libtidy.so.58 #8 9.526 -- Installing: /usr/local/lib/libtidy.so #8 9.526 -- Installing: /usr/local/bin/tidy #8 9.528 -- Installing: /usr/local/lib/pkgconfig/tidy.pc #8 9.530 HTML Tidy for Linux version 5.8.0 #8 DONE 9.6s #9 [5/9] RUN apt-get install -y woff2 #9 0.541 Reading package lists... #9 1.670 Building dependency tree... #9 1.910 Reading state information... #9 2.167 The following NEW packages will be installed: #9 2.168 woff2 #9 2.334 0 upgraded, 1 newly installed, 0 to remove and 29 not upgraded. #9 2.334 Need to get 11.4 kB of archives. #9 2.334 After this operation, 72.7 kB of additional disk space will be used. #9 2.334 Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 woff2 amd64 1.0.2-1build4 [11.4 kB] #9 2.520 debconf: delaying package configuration, since apt-utils is not installed #9 2.562 Fetched 11.4 kB in 0s (70.8 kB/s) #9 2.599 Selecting previously unselected package woff2. (Reading database ...a96564.files and directories currently installed.) #9 3.209 Preparing to unpack .../woff2_1.0.2-1build4_amd64.deb ... #9 3.215 Unpacking woff2 (1.0.2-1build4) ... #9 3.286 Setting up woff2 (1.0.2-1build4) ... #9 DONE 3.4s #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.284 Archive: /tmp/woff.zip #11 0.285 inflating: _sfnt2woff/Makefile #11 0.285 inflating: _sfnt2woff/sfnt2woff.c #11 0.286 inflating: _sfnt2woff/woff.c #11 0.286 inflating: _sfnt2woff/woff2sfnt.c #11 0.287 inflating: _sfnt2woff/woff-private.h #11 0.288 inflating: _sfnt2woff/woff.h #11 0.289 inflating: _sfnt2woff/woff-2009-10-03.html #11 0.291 cc -c -o sfnt2woff.o sfnt2woff.c #11 0.331 cc -c -o woff.o woff.c #11 0.423 cc -o sfnt2woff sfnt2woff.o woff.o -lz #11 0.446 cc -c -o woff2sfnt.o woff2sfnt.c #11 0.479 cc -o woff2sfnt woff2sfnt.o woff.o -lz #11 0.503 sfnt2woff: invalid option -- '-' #11 0.503 Usage: #11 0.503 sfnt2woff [-v <maj>.<min>] [-m <metadata.xml>] [-p <private.dat>] <otffile> #11 0.503 package OpenType <otffile> as WOFF, creating <otffile>.woff #11 0.503 Options: #11 0.503 -v <maj>.<min> set font version number (major and minor, both integers) #11 0.503 -m <metadata.xml> include metadata from <metadata.xml> (not validated) #11 0.503 -p <private.dat> include private data block #11 DONE 0.5s #12 [8/9] RUN npm install -g cssshrink@0.0.5 #12 3.544 #12 3.544 added 11 packages in 3s #12 DONE 3.6s #13 [9/9] RUN /bin/bash -l -c "gem update --system && gem install jgd -v 1.13.0" #13 0.719 Using /usr/local/rvm/gems/ruby-3.2.2 #13 1.383 Using /usr/local/rvm/gems/ruby-3.2.2 #13 5.501 Updating rubygems-update #13 5.501 Successfully installed rubygems-update-3.6.6 #13 5.501 Installing RubyGems 3.6.6 #13 6.193 Successfully built RubyGem #13 6.193 Name: bundler #13 6.193 Version: 2.6.6 #13 6.193 File: bundler-2.6.6.gem #13 6.193 Bundler 2.6.6 installed #13 6.193 RubyGems 3.6.6 installed #13 6.193 Regenerating binstubs #13 6.193 Regenerating plugins #13 6.193 #13 6.193 # 3.6.6 / 2025-03-13 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Update vendored uri to 1.0.3. Pull request #13 6.193 [#8534](https://github.com/rubygems/rubygems/pull/8534) by hsbt #13 6.193 * Installs bundler 2.6.6 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem rdoc` not working with newer versions of rdoc when not #13 6.193 installed as default gems. Pull request #13 6.193 [#8549](https://github.com/rubygems/rubygems/pull/8549) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.6.5 / 2025-02-20 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.6.5 as a default gem. #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Removed `gem server` from `gem help`. Pull request #13 6.193 [#8507](https://github.com/rubygems/rubygems/pull/8507) by hsbt #13 6.193 #13 6.193 # 3.6.4 / 2025-02-17 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Raise a simpler error when RubyGems fails to activate a dependency. Pull #13 6.193 request [#8449](https://github.com/rubygems/rubygems/pull/8449) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.6.4 as a default gem. #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Allocate strings from Requirement match only once. Pull request #13 6.193 [#8245](https://github.com/rubygems/rubygems/pull/8245) by segiddins #13 6.193 #13 6.193 # 3.6.3 / 2025-01-16 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Add credentials file path to `gem env`. Pull request #13 6.193 [#8375](https://github.com/rubygems/rubygems/pull/8375) by duckinator #13 6.193 * Update SPDX license list as of 2024-12-30. Pull request #13 6.193 [#8387](https://github.com/rubygems/rubygems/pull/8387) by #13 6.193 github-actions[bot] #13 6.193 * Installs bundler 2.6.3 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `@licenses` array unmarshalling. Pull request #13 6.193 [#8411](https://github.com/rubygems/rubygems/pull/8411) by rykov #13 6.193 #13 6.193 # 3.6.2 / 2024-12-23 #13 6.193 #13 6.193 ## Security: #13 6.193 #13 6.193 * Fix Gem::SafeMarshal buffer overrun when given lengths larger than fit #13 6.193 into a byte. Pull request #13 6.193 [#8305](https://github.com/rubygems/rubygems/pull/8305) by segiddins #13 6.193 * Improve type checking in marshal_load methods. Pull request #13 6.193 [#8306](https://github.com/rubygems/rubygems/pull/8306) by segiddins #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Skip rdoc hooks and their tests on newer rdoc versions. Pull request #13 6.193 [#8340](https://github.com/rubygems/rubygems/pull/8340) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.6.2 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix serialized metadata including an empty `@original_platform` #13 6.193 attribute. Pull request #13 6.193 [#8355](https://github.com/rubygems/rubygems/pull/8355) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.6.1 / 2024-12-17 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.6.1 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem info` tagging some non default gems as default. Pull request #13 6.193 [#8321](https://github.com/rubygems/rubygems/pull/8321) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Fix broken links. Pull request #13 6.193 [#8327](https://github.com/rubygems/rubygems/pull/8327) by st0012 #13 6.193 #13 6.193 # 3.6.0 / 2024-12-16 #13 6.193 #13 6.193 ## Security: #13 6.193 #13 6.193 * Stop storing executable names in ivars. Pull request #13 6.193 [#8307](https://github.com/rubygems/rubygems/pull/8307) by segiddins #13 6.193 #13 6.193 ## Breaking changes: #13 6.193 #13 6.193 * Drop ruby 3.0 support. Pull request #13 6.193 [#8091](https://github.com/rubygems/rubygems/pull/8091) by segiddins #13 6.193 #13 6.193 ## Features: #13 6.193 #13 6.193 * Add --attestation option to gem push. Pull request #13 6.193 [#8239](https://github.com/rubygems/rubygems/pull/8239) by segiddins #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Skip unresolved deps warning on `Gem::Specification.reset` on benign #13 6.193 cases. Pull request #13 6.193 [#8309](https://github.com/rubygems/rubygems/pull/8309) by #13 6.193 deivid-rodriguez #13 6.193 * Let `gem install <name>` suggest `<name>-ruby` and `ruby-<name>` when #13 6.193 providing "did you mean" suggestions. Pull request #13 6.193 [#8197](https://github.com/rubygems/rubygems/pull/8197) by duckinator #13 6.193 * Update SPDX license list as of 2024-08-19. Pull request #13 6.193 [#8233](https://github.com/rubygems/rubygems/pull/8233) by #13 6.193 github-actions[bot] #13 6.193 * Add `--target-rbconfig` option to `gem install` and `gem update` #13 6.193 commands. Pull request #13 6.193 [#7628](https://github.com/rubygems/rubygems/pull/7628) by kateinoigakukun #13 6.193 * Skip nil-value keys to make metadata reproducible. Pull request #13 6.193 [#7129](https://github.com/rubygems/rubygems/pull/7129) by nobu #13 6.193 * Allow disabling installation of compiled extensions into lib through #13 6.193 `Gem.configuration.install_extension_in_lib`. Pull request #13 6.193 [#6463](https://github.com/rubygems/rubygems/pull/6463) by hsbt #13 6.193 * Installs bundler 2.6.0 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Set $0 to exe when running `gem exec` to fix name in CLI output. Pull #13 6.193 request [#8267](https://github.com/rubygems/rubygems/pull/8267) by adam12 #13 6.193 * Fix manifest in gem package using incorrect platform sometimes. Pull #13 6.193 request [#8202](https://github.com/rubygems/rubygems/pull/8202) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Fix missing single quote in git source example. Pull request #13 6.193 [#8303](https://github.com/rubygems/rubygems/pull/8303) by nobu #13 6.193 * Update the `gem install` demo in REAME to use a gem that just works on #13 6.193 Windows. Pull request #13 6.193 [#8262](https://github.com/rubygems/rubygems/pull/8262) by soda92 #13 6.193 * Unify rubygems and bundler docs directory. Pull request #13 6.193 [#8159](https://github.com/rubygems/rubygems/pull/8159) by hsbt #13 6.193 #13 6.193 # 3.5.23 / 2024-11-05 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Validate user input encoding of `gem` CLI arguments. Pull request #13 6.193 [#6471](https://github.com/rubygems/rubygems/pull/6471) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem update --system` leaving old default bundler executables #13 6.193 around. Pull request #13 6.193 [#8172](https://github.com/rubygems/rubygems/pull/8172) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.23 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix commands with 2 MFA requests when webauthn is enabled. Pull request #13 6.193 [#8174](https://github.com/rubygems/rubygems/pull/8174) by #13 6.193 deivid-rodriguez #13 6.193 * Make `--enable-load-relative` binstubs prolog work when Ruby is not #13 6.193 installed in the same directory as the binstub. Pull request #13 6.193 [#7872](https://github.com/rubygems/rubygems/pull/7872) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Speed up `gem install <nonexistent-gem>` by finding alternative name #13 6.193 suggestions faster. Pull request #13 6.193 [#8084](https://github.com/rubygems/rubygems/pull/8084) by duckinator #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Add missing comma in documentation. Pull request #13 6.193 [#8152](https://github.com/rubygems/rubygems/pull/8152) by leoarnold #13 6.193 #13 6.193 # 3.5.22 / 2024-10-16 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Prevent `._*` files in packages generated from macOS. Pull request #13 6.193 [#8150](https://github.com/rubygems/rubygems/pull/8150) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem pristine etc` resetting gem twice sometimes. Pull request #13 6.193 [#8117](https://github.com/rubygems/rubygems/pull/8117) by #13 6.193 deivid-rodriguez #13 6.193 * Allow `gem pristine` to reset default gems too. Pull request #13 6.193 [#8118](https://github.com/rubygems/rubygems/pull/8118) by #13 6.193 deivid-rodriguez #13 6.193 * Update vendored `uri` and `net-http`. Pull request #13 6.193 [#8112](https://github.com/rubygems/rubygems/pull/8112) by segiddins #13 6.193 * Installs bundler 2.5.22 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem contents` for default gems. Pull request #13 6.193 [#8132](https://github.com/rubygems/rubygems/pull/8132) by #13 6.193 deivid-rodriguez #13 6.193 * Fix duplicated specs when they have been previously activated. Pull #13 6.193 request [#8131](https://github.com/rubygems/rubygems/pull/8131) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem install` on NFS shares. Pull request #13 6.193 [#8123](https://github.com/rubygems/rubygems/pull/8123) by #13 6.193 deivid-rodriguez #13 6.193 * Fix a `gem install` crash during "done installing" hooks. Pull request #13 6.193 [#8113](https://github.com/rubygems/rubygems/pull/8113) by #13 6.193 deivid-rodriguez #13 6.193 * Fix plugin command loading. Pull request #13 6.193 [#8121](https://github.com/rubygems/rubygems/pull/8121) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.21 / 2024-10-03 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Fix `Gem::MissingSpecVersionError#to_s` not showing exception message. #13 6.193 Pull request [#8074](https://github.com/rubygems/rubygems/pull/8074) by #13 6.193 deivid-rodriguez #13 6.193 * Remove code that makes suggest_gems_from_name give worse results. Pull #13 6.193 request [#8083](https://github.com/rubygems/rubygems/pull/8083) by #13 6.193 duckinator #13 6.193 * Warning about PATH in `--user-install` mode is only necessary for gems #13 6.193 with executables. Pull request #13 6.193 [#8071](https://github.com/rubygems/rubygems/pull/8071) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.21 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix error in one source when fetching dependency APIs clearing results #13 6.193 from all sources. Pull request #13 6.193 [#8080](https://github.com/rubygems/rubygems/pull/8080) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem cleanup` warning when two versions of psych installed. Pull #13 6.193 request [#8072](https://github.com/rubygems/rubygems/pull/8072) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.20 / 2024-09-24 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.20 as a default gem. #13 6.193 #13 6.193 # 3.5.19 / 2024-09-18 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Standardize pretty-print output for `Gem::Source` and subclasses. Pull #13 6.193 request [#7994](https://github.com/rubygems/rubygems/pull/7994) by #13 6.193 djberube #13 6.193 * Update vendored `molinillo` to master and vendored `resolv` to 0.4.0. #13 6.193 Pull request [#7521](https://github.com/rubygems/rubygems/pull/7521) by #13 6.193 hsbt #13 6.193 * Installs bundler 2.5.19 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `bundle exec rake install` failing when local gem has extensions. #13 6.193 Pull request [#7977](https://github.com/rubygems/rubygems/pull/7977) by #13 6.193 deivid-rodriguez #13 6.193 * Make `gem exec` use the standard GEM_HOME. Pull request #13 6.193 [#7982](https://github.com/rubygems/rubygems/pull/7982) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem fetch` always exiting with zero status code. Pull request #13 6.193 [#8007](https://github.com/rubygems/rubygems/pull/8007) by #13 6.193 deivid-rodriguez #13 6.193 * Remove temporary `.lock` files unintentionally left around by gem #13 6.193 installer. Pull request #13 6.193 [#7939](https://github.com/rubygems/rubygems/pull/7939) by nobu #13 6.193 * Removed unused stringio. Pull request #13 6.193 [#8001](https://github.com/rubygems/rubygems/pull/8001) by hsbt #13 6.193 * Avoid another race condition of open mode. Pull request #13 6.193 [#7931](https://github.com/rubygems/rubygems/pull/7931) by nobu #13 6.193 * Fix `@license` typo preventing licenses from being correctly #13 6.193 unmarshalled. Pull request #13 6.193 [#7975](https://github.com/rubygems/rubygems/pull/7975) by djberube #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Fix `gem install does-not-exist` being super slow. Pull request #13 6.193 [#8006](https://github.com/rubygems/rubygems/pull/8006) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.18 / 2024-08-26 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.18 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem uninstall <name>:<version>` failing on shadowed default gems. #13 6.193 Pull request [#7949](https://github.com/rubygems/rubygems/pull/7949) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.17 / 2024-08-01 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Explicitly encode `Gem::Dependency` to yaml. Pull request #13 6.193 [#7867](https://github.com/rubygems/rubygems/pull/7867) by segiddins #13 6.193 * Installs bundler 2.5.17 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem list` regression when a regular gem shadows a default one. Pull #13 6.193 request [#7892](https://github.com/rubygems/rubygems/pull/7892) by #13 6.193 deivid-rodriguez #13 6.193 * Always leave default gem executables around. Pull request #13 6.193 [#7879](https://github.com/rubygems/rubygems/pull/7879) by #13 6.193 deivid-rodriguez #13 6.193 * Fix line comment issue for hash when loading gemrc. Pull request #13 6.193 [#7857](https://github.com/rubygems/rubygems/pull/7857) by leetking #13 6.193 #13 6.193 # 3.5.16 / 2024-07-18 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.16 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix gemspec `require_paths` validation. Pull request #13 6.193 [#7866](https://github.com/rubygems/rubygems/pull/7866) by #13 6.193 deivid-rodriguez #13 6.193 * Fix loading of nested `gemrc` config keys when specified as symbols. #13 6.193 Pull request [#7851](https://github.com/rubygems/rubygems/pull/7851) by #13 6.193 moofkit #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Use `caller_locations` instead of splitting `caller`. Pull request #13 6.193 [#7708](https://github.com/rubygems/rubygems/pull/7708) by nobu #13 6.193 #13 6.193 # 3.5.15 / 2024-07-09 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.15 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Restrict generic `arm` to only match 32-bit arm. Pull request #13 6.193 [#7830](https://github.com/rubygems/rubygems/pull/7830) by ntkme #13 6.193 * Protect creating binstubs with a file lock. Pull request #13 6.193 [#7806](https://github.com/rubygems/rubygems/pull/7806) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Make it clearer that `add_dependency` is the main way to add #13 6.193 non-development dependencies. Pull request #13 6.193 [#7800](https://github.com/rubygems/rubygems/pull/7800) by jeromedalbert #13 6.193 #13 6.193 # 3.5.14 / 2024-06-21 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.14 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Make "bundler? update --bundler" behave identically. Pull request #13 6.193 [#7778](https://github.com/rubygems/rubygems/pull/7778) by x-yuri #13 6.193 #13 6.193 # 3.5.13 / 2024-06-14 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.13 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Never remove executables that may belong to a default gem. Pull request #13 6.193 [#7747](https://github.com/rubygems/rubygems/pull/7747) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.12 / 2024-06-13 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.12 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `gem uninstall` unresolved specifications warning. Pull request #13 6.193 [#7667](https://github.com/rubygems/rubygems/pull/7667) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem pristine` sometimes failing to pristine user installed gems. #13 6.193 Pull request [#7664](https://github.com/rubygems/rubygems/pull/7664) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.11 / 2024-05-28 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Update SPDX license list as of 2024-05-22. Pull request #13 6.193 [#7689](https://github.com/rubygems/rubygems/pull/7689) by #13 6.193 github-actions[bot] #13 6.193 * Fix the update_rubygems inconsistency (--disable-gems). Pull request #13 6.193 [#7658](https://github.com/rubygems/rubygems/pull/7658) by x-yuri #13 6.193 * Accept WASI as an OS name in Gem::Platform. Pull request #13 6.193 [#7629](https://github.com/rubygems/rubygems/pull/7629) by kateinoigakukun #13 6.193 * Warn if RubyGems version explicitly set in gemspec does not match #13 6.193 running version. Pull request #13 6.193 [#7460](https://github.com/rubygems/rubygems/pull/7460) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.11 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix binstubs sometimes not getting regenerated when `--destdir` is #13 6.193 given. Pull request #13 6.193 [#7660](https://github.com/rubygems/rubygems/pull/7660) by #13 6.193 deivid-rodriguez #13 6.193 * Fix `gem uninstall --user-install` for symlinked HOME. Pull request #13 6.193 [#7645](https://github.com/rubygems/rubygems/pull/7645) by #13 6.193 deivid-rodriguez #13 6.193 * Fix issue when plugin stubs would sometimes not be properly removed by #13 6.193 `gem uninstall`. Pull request #13 6.193 [#7631](https://github.com/rubygems/rubygems/pull/7631) by #13 6.193 deivid-rodriguez #13 6.193 * Fix plugins uninstallation for user installed gems. Pull request #13 6.193 [#6456](https://github.com/rubygems/rubygems/pull/6456) by voxik #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Use a constant empty tar header to avoid extra allocations. Pull request #13 6.193 [#7484](https://github.com/rubygems/rubygems/pull/7484) by segiddins #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Recommend `bin/rake` over `rake` in contributing docs. Pull request #13 6.193 [#7648](https://github.com/rubygems/rubygems/pull/7648) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.10 / 2024-05-03 #13 6.193 #13 6.193 ## Security: #13 6.193 #13 6.193 * Add a limit to the size of the metadata and checksums files in a gem #13 6.193 package. Pull request #13 6.193 [#7568](https://github.com/rubygems/rubygems/pull/7568) by segiddins #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Don't fully require `rubygems` from `rubygems/package` to prevent some #13 6.193 circular require warnings when using Bundler. Pull request #13 6.193 [#7612](https://github.com/rubygems/rubygems/pull/7612) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.10 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Rename credential email to identifier in WebAuthn poller. Pull request #13 6.193 [#7623](https://github.com/rubygems/rubygems/pull/7623) by jenshenny #13 6.193 #13 6.193 # 3.5.9 / 2024-04-12 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.9 as a default gem. #13 6.193 #13 6.193 # 3.5.8 / 2024-04-11 #13 6.193 #13 6.193 ## Security: #13 6.193 #13 6.193 * Respect global umask when writing regular files. Pull request #13 6.193 [#7518](https://github.com/rubygems/rubygems/pull/7518) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Allow string keys with gemrc. Pull request #13 6.193 [#7543](https://github.com/rubygems/rubygems/pull/7543) by hsbt #13 6.193 * [Experimental] Add "gem rebuild" command. Pull request #13 6.193 [#4913](https://github.com/rubygems/rubygems/pull/4913) by duckinator #13 6.193 * Installs bundler 2.5.8 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix NoMethodError crash when building errors about corrupt package #13 6.193 files. Pull request #13 6.193 [#7539](https://github.com/rubygems/rubygems/pull/7539) by jez #13 6.193 * Fix resolver to properly intersect Arrays of `Gem::Resolver::Activation` #13 6.193 objects. Pull request #13 6.193 [#7537](https://github.com/rubygems/rubygems/pull/7537) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.7 / 2024-03-22 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Warn on empty or open required_ruby_version specification attribute. #13 6.193 Pull request [#5010](https://github.com/rubygems/rubygems/pull/5010) by #13 6.193 simi #13 6.193 * Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via #13 6.193 attribute. Pull request #13 6.193 [#7464](https://github.com/rubygems/rubygems/pull/7464) by segiddins #13 6.193 * Update SPDX license list as of 2024-02-08. Pull request #13 6.193 [#7468](https://github.com/rubygems/rubygems/pull/7468) by #13 6.193 github-actions[bot] #13 6.193 * Installs bundler 2.5.7 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Allow prerelease activation (even if requirement is not explicit about #13 6.193 it) when it's the only possibility. Pull request #13 6.193 [#7428](https://github.com/rubygems/rubygems/pull/7428) by kimesf #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Fix a typo. Pull request #13 6.193 [#7505](https://github.com/rubygems/rubygems/pull/7505) by hsbt #13 6.193 * Use https instead of http in documentation links. Pull request #13 6.193 [#7481](https://github.com/rubygems/rubygems/pull/7481) by hsbt #13 6.193 #13 6.193 # 3.5.6 / 2024-02-06 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Deep copy requirements in `Gem::Specification` and `Gem::Requirement`. #13 6.193 Pull request [#7439](https://github.com/rubygems/rubygems/pull/7439) by #13 6.193 flavorjones #13 6.193 * Change gem login message to clear up that username can be also used. #13 6.193 Pull request [#7422](https://github.com/rubygems/rubygems/pull/7422) by #13 6.193 VitaliySerov #13 6.193 * Add metadata for rubygems.org. Pull request #13 6.193 [#7435](https://github.com/rubygems/rubygems/pull/7435) by m-nakamura145 #13 6.193 * Improve gem login scope selection. Pull request #13 6.193 [#7342](https://github.com/rubygems/rubygems/pull/7342) by williantenfen #13 6.193 * Vendor uri in RubyGems. Pull request #13 6.193 [#7386](https://github.com/rubygems/rubygems/pull/7386) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.6 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Skip to load commented out words. Pull request #13 6.193 [#7413](https://github.com/rubygems/rubygems/pull/7413) by hsbt #13 6.193 * Fix rake runtime dependency warning for rake based extension. Pull #13 6.193 request [#7395](https://github.com/rubygems/rubygems/pull/7395) by ntkme #13 6.193 #13 6.193 # 3.5.5 / 2024-01-18 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.5 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix `require` activation conflicts when requiring default gems under #13 6.193 some situations. Pull request #13 6.193 [#7379](https://github.com/rubygems/rubygems/pull/7379) by #13 6.193 deivid-rodriguez #13 6.193 * Use cache_home instead of data_home in default_spec_cache_dir. Pull #13 6.193 request [#7331](https://github.com/rubygems/rubygems/pull/7331) by mrkn #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Use squiggly heredocs in `Gem::Specification#description` documentation, #13 6.193 so it doesn't add leading whitespace. Pull request #13 6.193 [#7373](https://github.com/rubygems/rubygems/pull/7373) by bravehager #13 6.193 #13 6.193 # 3.5.4 / 2024-01-04 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Always avoid "Updating rubygems-update" message. Pull request #13 6.193 [#7335](https://github.com/rubygems/rubygems/pull/7335) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.5.4 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Make `gem update --system` respect ruby version constraints. Pull #13 6.193 request [#7334](https://github.com/rubygems/rubygems/pull/7334) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.5.3 / 2023-12-22 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.3 as a default gem. #13 6.193 #13 6.193 # 3.5.2 / 2023-12-21 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Support dynamic library loading with extension .so or .o. Pull request #13 6.193 [#7241](https://github.com/rubygems/rubygems/pull/7241) by hogelog #13 6.193 * Installs bundler 2.5.2 as a default gem. #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Replace `object_id` comparison with identity Hash. Pull request #13 6.193 [#7303](https://github.com/rubygems/rubygems/pull/7303) by amomchilov #13 6.193 * Use IO.copy_stream when reading, writing. Pull request #13 6.193 [#6958](https://github.com/rubygems/rubygems/pull/6958) by martinemde #13 6.193 #13 6.193 # 3.5.1 / 2023-12-15 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.5.1 as a default gem. #13 6.193 #13 6.193 # 3.5.0 / 2023-12-15 #13 6.193 #13 6.193 ## Security: #13 6.193 #13 6.193 * Replace `Marshal.load` with a fully-checked safe gemspec loader. Pull #13 6.193 request [#6896](https://github.com/rubygems/rubygems/pull/6896) by #13 6.193 segiddins #13 6.193 #13 6.193 ## Breaking changes: #13 6.193 #13 6.193 * Drop ruby 2.6 and 2.7 support. Pull request #13 6.193 [#7116](https://github.com/rubygems/rubygems/pull/7116) by #13 6.193 deivid-rodriguez #13 6.193 * Release package no longer includes test files. Pull request #13 6.193 [#6781](https://github.com/rubygems/rubygems/pull/6781) by hsbt #13 6.193 * Hide `Gem::MockGemUi` from users. Pull request #13 6.193 [#6623](https://github.com/rubygems/rubygems/pull/6623) by hsbt #13 6.193 * Deprecated `Gem.datadir` has been removed. Pull request #13 6.193 [#6469](https://github.com/rubygems/rubygems/pull/6469) by hsbt #13 6.193 #13 6.193 ## Deprecations: #13 6.193 #13 6.193 * Deprecate `Gem::Platform.match?`. Pull request #13 6.193 [#6783](https://github.com/rubygems/rubygems/pull/6783) by hsbt #13 6.193 * Deprecate `Gem::List`. Pull request #13 6.193 [#6311](https://github.com/rubygems/rubygems/pull/6311) by segiddins #13 6.193 #13 6.193 ## Features: #13 6.193 #13 6.193 * The `generate_index` command can now generate compact index files and #13 6.193 lives as an external `rubygems-generate_index` gem. Pull request #13 6.193 [#7085](https://github.com/rubygems/rubygems/pull/7085) by segiddins #13 6.193 * Make `gem install` fallback to user installation directory if default #13 6.193 gem home is not writable. Pull request #13 6.193 [#5327](https://github.com/rubygems/rubygems/pull/5327) by duckinator #13 6.193 * Leverage ruby feature to warn when requiring default gems from stdlib #13 6.193 that will be turned into bundled gems in the future. Pull request #13 6.193 [#6840](https://github.com/rubygems/rubygems/pull/6840) by hsbt #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Use match? when regexp match data is unused. Pull request #13 6.193 [#7263](https://github.com/rubygems/rubygems/pull/7263) by segiddins #13 6.193 * Fewer allocations in gem installation. Pull request #13 6.193 [#6975](https://github.com/rubygems/rubygems/pull/6975) by segiddins #13 6.193 * Optimize allocations in `Gem::Version`. Pull request #13 6.193 [#6970](https://github.com/rubygems/rubygems/pull/6970) by segiddins #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Warn for duplicate meta data links when building gems. Pull request #13 6.193 [#7213](https://github.com/rubygems/rubygems/pull/7213) by etherbob #13 6.193 * Vendor `net-http`, `net-protocol`, `resolv`, and `timeout` to reduce #13 6.193 conflicts between Gemfile gems and internal dependencies. Pull request #13 6.193 [#6793](https://github.com/rubygems/rubygems/pull/6793) by #13 6.193 deivid-rodriguez #13 6.193 * Remove non-transparent requirement added to prerelease gems. Pull #13 6.193 request [#7226](https://github.com/rubygems/rubygems/pull/7226) by #13 6.193 deivid-rodriguez #13 6.193 * Stream output from ext builds when --verbose. Pull request #13 6.193 [#7240](https://github.com/rubygems/rubygems/pull/7240) by osyoyu #13 6.193 * Add missing services to CI detection and make it consistent between #13 6.193 RubyGems and Bundler. Pull request #13 6.193 [#7205](https://github.com/rubygems/rubygems/pull/7205) by nevinera #13 6.193 * Update generate licenses template to not freeze regexps. Pull request #13 6.193 [#7154](https://github.com/rubygems/rubygems/pull/7154) by #13 6.193 github-actions[bot] #13 6.193 * Don't check `LIBRUBY_RELATIVE` in truffleruby to signal a bash prelude #13 6.193 in rubygems binstubs. Pull request #13 6.193 [#7156](https://github.com/rubygems/rubygems/pull/7156) by #13 6.193 deivid-rodriguez #13 6.193 * Update SPDX list and warn on deprecated identifiers. Pull request #13 6.193 [#6926](https://github.com/rubygems/rubygems/pull/6926) by simi #13 6.193 * Simplify extended `require` to potentially fix some deadlocks. Pull #13 6.193 request [#6827](https://github.com/rubygems/rubygems/pull/6827) by nobu #13 6.193 * Small refactors for `Gem::Resolver`. Pull request #13 6.193 [#6766](https://github.com/rubygems/rubygems/pull/6766) by hsbt #13 6.193 * Use double-quotes instead of single-quotes consistently in warnings. #13 6.193 Pull request [#6550](https://github.com/rubygems/rubygems/pull/6550) by #13 6.193 hsbt #13 6.193 * Add debug message for `nil` version gemspec. Pull request #13 6.193 [#6436](https://github.com/rubygems/rubygems/pull/6436) by hsbt #13 6.193 * Installs bundler 2.5.0 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fix installing from source with same default bundler version already #13 6.193 installed. Pull request #13 6.193 [#7244](https://github.com/rubygems/rubygems/pull/7244) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Improve comment explaining the necessity of `write_default_spec` method. #13 6.193 Pull request [#6563](https://github.com/rubygems/rubygems/pull/6563) by #13 6.193 voxik #13 6.193 #13 6.193 # 3.4.22 / 2023-11-09 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Update SPDX license list as of 2023-10-05. Pull request #13 6.193 [#7040](https://github.com/rubygems/rubygems/pull/7040) by #13 6.193 github-actions[bot] #13 6.193 * Remove unnecessary rescue. Pull request #13 6.193 [#7109](https://github.com/rubygems/rubygems/pull/7109) by #13 6.193 deivid-rodriguez #13 6.193 * Installs bundler 2.4.22 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Handle empty array at built-in YAML serializer. Pull request #13 6.193 [#7099](https://github.com/rubygems/rubygems/pull/7099) by hsbt #13 6.193 * Ignore non-tar format `.gem` files during search. Pull request #13 6.193 [#7095](https://github.com/rubygems/rubygems/pull/7095) by dearblue #13 6.193 * Allow explicitly uninstalling multiple versions of same gem. Pull #13 6.193 request [#7063](https://github.com/rubygems/rubygems/pull/7063) by #13 6.193 kstevens715 #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Avoid regexp match on every call to `Gem::Platform.local`. Pull request #13 6.193 [#7104](https://github.com/rubygems/rubygems/pull/7104) by segiddins #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Get `Gem::Specification#extensions_dir` documented. Pull request #13 6.193 [#6218](https://github.com/rubygems/rubygems/pull/6218) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.4.21 / 2023-10-17 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Abort `setup.rb` if Ruby is too old. Pull request #13 6.193 [#7011](https://github.com/rubygems/rubygems/pull/7011) by #13 6.193 deivid-rodriguez #13 6.193 * Remove usage of Dir.chdir that only execute a subprocess. Pull request #13 6.193 [#6930](https://github.com/rubygems/rubygems/pull/6930) by segiddins #13 6.193 * Freeze more strings in generated gemspecs. Pull request #13 6.193 [#6974](https://github.com/rubygems/rubygems/pull/6974) by segiddins #13 6.193 * Use pure-ruby YAML parser for loading configuration at RubyGems. Pull #13 6.193 request [#6615](https://github.com/rubygems/rubygems/pull/6615) by hsbt #13 6.193 * Installs bundler 2.4.21 as a default gem. #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Update suggested variable for bindir. Pull request #13 6.193 [#7028](https://github.com/rubygems/rubygems/pull/7028) by hsbt #13 6.193 * Fix invalid links in documentation. Pull request #13 6.193 [#7008](https://github.com/rubygems/rubygems/pull/7008) by simi #13 6.193 #13 6.193 # 3.4.20 / 2023-09-27 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Raise `Gem::Package::FormatError` when gem encounters corrupt EOF. #13 6.193 Pull request [#6882](https://github.com/rubygems/rubygems/pull/6882) #13 6.193 by martinemde #13 6.193 * Allow skipping empty license `gem build` warning by setting license to #13 6.193 `nil`. Pull request #13 6.193 [#6879](https://github.com/rubygems/rubygems/pull/6879) by jhong97 #13 6.193 * Update SPDX license list as of 2023-06-18. Pull request #13 6.193 [#6891](https://github.com/rubygems/rubygems/pull/6891) by #13 6.193 github-actions[bot] #13 6.193 * Update SPDX license list as of 2023-04-28. Pull request #13 6.193 [#6642](https://github.com/rubygems/rubygems/pull/6642) by segiddins #13 6.193 * Update SPDX license list as of 2023-01-26. Pull request #13 6.193 [#6310](https://github.com/rubygems/rubygems/pull/6310) by segiddins #13 6.193 * Installs bundler 2.4.20 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Fixed false positive SymlinkError in symbolic link directory. Pull #13 6.193 request [#6947](https://github.com/rubygems/rubygems/pull/6947) by #13 6.193 negi0109 #13 6.193 * Ensure that loading multiple gemspecs with legacy YAML class references #13 6.193 does not warn. Pull request #13 6.193 [#6889](https://github.com/rubygems/rubygems/pull/6889) by segiddins #13 6.193 * Fix NoMethodError when choosing a too big number from `gem uni` list. #13 6.193 Pull request [#6901](https://github.com/rubygems/rubygems/pull/6901) by #13 6.193 amatsuda #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Reduce allocations for stub specifications. Pull request #13 6.193 [#6972](https://github.com/rubygems/rubygems/pull/6972) by segiddins #13 6.193 #13 6.193 # 3.4.19 / 2023-08-17 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.19 as a default gem. #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Speedup building docs when updating rubygems. Pull request #13 6.193 [#6864](https://github.com/rubygems/rubygems/pull/6864) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.4.18 / 2023-08-02 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Add poller to fetch WebAuthn OTP. Pull request #13 6.193 [#6774](https://github.com/rubygems/rubygems/pull/6774) by jenshenny #13 6.193 * Remove side effects when unmarshaling old `Gem::Specification`. Pull #13 6.193 request [#6825](https://github.com/rubygems/rubygems/pull/6825) by nobu #13 6.193 * Ship rubygems executables in `exe` folder. Pull request #13 6.193 [#6704](https://github.com/rubygems/rubygems/pull/6704) by hsbt #13 6.193 * Installs bundler 2.4.18 as a default gem. #13 6.193 #13 6.193 # 3.4.17 / 2023-07-14 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.17 as a default gem. #13 6.193 #13 6.193 ## Performance: #13 6.193 #13 6.193 * Avoid unnecessary work for private local gem installation. Pull request #13 6.193 [#6810](https://github.com/rubygems/rubygems/pull/6810) by #13 6.193 deivid-rodriguez #13 6.193 #13 6.193 # 3.4.16 / 2023-07-10 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.16 as a default gem. #13 6.193 #13 6.193 # 3.4.15 / 2023-06-29 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.15 as a default gem. #13 6.193 #13 6.193 ## Bug fixes: #13 6.193 #13 6.193 * Autoload shellwords when it's needed. Pull request #13 6.193 [#6734](https://github.com/rubygems/rubygems/pull/6734) by ioquatix #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Update command to test local gem command changes. Pull request #13 6.193 [#6761](https://github.com/rubygems/rubygems/pull/6761) by jenshenny #13 6.193 #13 6.193 # 3.4.14 / 2023-06-12 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Load plugin immediately. Pull request #13 6.193 [#6673](https://github.com/rubygems/rubygems/pull/6673) by kou #13 6.193 * Installs bundler 2.4.14 as a default gem. #13 6.193 #13 6.193 ## Documentation: #13 6.193 #13 6.193 * Clarify what the `rubygems-update` gem is for, and link to source code #13 6.193 and guides. Pull request #13 6.193 [#6710](https://github.com/rubygems/rubygems/pull/6710) by davetron5000 #13 6.193 #13 6.193 # 3.4.13 / 2023-05-09 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.13 as a default gem. #13 6.193 #13 6.193 # 3.4.12 / 2023-04-11 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * [Experimental] Add WebAuthn Support to the CLI. Pull request #13 6.193 [#6560](https://github.com/rubygems/rubygems/pull/6560) by jenshenny #13 6.193 * Installs bundler 2.4.12 as a default gem. #13 6.193 #13 6.193 # 3.4.11 / 2023-04-10 #13 6.193 #13 6.193 ## Enhancements: #13 6.193 #13 6.193 * Installs bundler 2.4.11 as a default gem. #13 6.193 #13 6.199 #13 6.199 ------------------------------------------------------------------------------ #13 6.199 #13 6.199 RubyGems installed the following executables: #13 6.199 /usr/local/rvm/rubies/ruby-3.2.2/bin/gem #13 6.199 /usr/local/rvm/rubies/ruby-3.2.2/bin/bundle #13 6.199 /usr/local/rvm/rubies/ruby-3.2.2/bin/bundler #13 6.199 #13 6.227 RubyGems system software updated #13 8.181 ! The 'trollop' gem has been deprecated and has been replaced by 'optimist'. #13 8.181 ! See: https://rubygems.org/gems/optimist #13 8.181 ! And: https://github.com/ManageIQ/optimist #13 8.181 Successfully installed trollop-2.9.9 #13 8.181 Successfully installed webrick-1.9.1 #13 8.181 Successfully installed unicode-display_width-2.6.0 #13 8.181 Successfully installed terminal-table-3.0.2 #13 8.181 Successfully installed safe_yaml-1.0.5 #13 8.181 Successfully installed rouge-4.5.1 #13 8.181 Successfully installed forwardable-extended-2.6.0 #13 8.181 Successfully installed pathutil-0.16.2 #13 8.181 Successfully installed mercenary-0.4.0 #13 8.181 Successfully installed liquid-4.0.4 #13 8.181 Successfully installed rexml-3.4.1 #13 8.181 Successfully installed kramdown-2.5.1 #13 8.181 Successfully installed kramdown-parser-gfm-1.1.0 #13 8.181 Successfully installed ffi-1.17.1-x86_64-linux-gnu #13 8.181 Successfully installed rb-inotify-0.11.1 #13 8.181 Successfully installed rb-fsevent-0.11.2 #13 8.181 Successfully installed listen-3.9.0 #13 8.181 Successfully installed jekyll-watch-2.2.1 #13 8.181 Successfully installed google-protobuf-4.30.1-x86_64-linux #13 8.181 Successfully installed sass-embedded-1.86.0-x86_64-linux-gnu #13 8.181 Successfully installed jekyll-sass-converter-3.1.0 #13 8.181 Successfully installed concurrent-ruby-1.3.5 #13 8.181 Successfully installed i18n-1.14.7 #13 8.181 Building native extensions. This could take a while... #13 9.714 Successfully installed http_parser.rb-0.8.0 #13 9.714 Building native extensions. This could take a while... #13 25.12 Successfully installed eventmachine-1.2.7 #13 25.12 Successfully installed em-websocket-0.5.3 #13 25.12 Successfully installed colorator-1.1.0 #13 25.12 Successfully installed base64-0.2.0 #13 25.12 Successfully installed public_suffix-6.0.1 #13 25.12 Successfully installed addressable-2.8.7 #13 25.12 Successfully installed jekyll-4.4.1 #13 25.12 Successfully installed jgd-1.13.0 #13 25.12 32 gems installed #13 DONE 25.3s #14 exporting to image #14 exporting layers #14 exporting layers 5.3s done #14 writing image sha256:b329310c8d6028b3d597abddb312db1e90b3c52bfc78573b602c746334ffa40e done #14 naming to docker.io/yegor256/rultor-ljct6jfm done #14 DONE 5.3s + docker ps --filter=status=exited + grep --quiet '\syegor256_blog_772\s*$' + ls -al . total 200 drwx------ 3 ubuntu ubuntu 4096 Mar 22 06:53 . drwxrwxrwt 12 root root 4096 Mar 22 06:56 .. -rw-rw-r-- 1 ubuntu ubuntu 52 Mar 22 06:51 chatgpt-key.txt -rwxrwxr-x 1 ubuntu ubuntu 2089 Mar 22 06:58 end.sh -rwxrwxr-x 1 ubuntu ubuntu 490 Mar 22 06:53 entry.sh -rw-rw-r-- 1 ubuntu ubuntu 1679 Mar 22 06:51 id_rsa -rw-rw-r-- 1 ubuntu ubuntu 396 Mar 22 06:51 id_rsa.pub -rw-rw-r-- 1 ubuntu ubuntu 5 Mar 22 06:51 pid drwxrwxr-x 29 ubuntu ubuntu 4096 Mar 22 06:53 repo -rwxrwxr-x 1 ubuntu ubuntu 9516 Mar 22 06:51 run.sh -rw-rw-r-- 1 ubuntu ubuntu 1206 Mar 22 06:53 script.sh -rw-rw-r-- 1 ubuntu ubuntu 57 Mar 22 06:51 secrets.yml -rw-rw-r-- 1 ubuntu ubuntu 142911 Mar 22 06:59 stdout ++ pwd ++ pwd + docker run -t --rm -v /tmp/rultor-4QvM:/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-4QvM/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_blog_772 yegor256/rultor-ljct6jfm /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 ; "$(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 ; + 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 Fetching gem metadata from https://rubygems.org/.......... Resolving dependencies... 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.0 Installing fiber-storage 1.0.0 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.3 Installing csv 3.3.3 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.6.6 Installing logger 1.6.6 Fetching faraday 2.12.2 Installing faraday 2.12.2 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.5 (x86_64-linux-gnu) Installing nokogiri 1.18.5 (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.0.0 Installing ruby-openai 8.0.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.0.45 Installing jekyll-chatgpt-translate 0.0.45 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.26.3 Installing parallel 1.26.3 Fetching parser 3.3.7.2 Installing parser 3.3.7.2 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.41.0 Installing rubocop-ast 1.41.0 Fetching ruby-progressbar 1.13.0 Installing ruby-progressbar 1.13.0 Fetching rubocop 1.74.0 Installing rubocop 1.74.0 Fetching rubocop-minitest 0.37.1 Installing rubocop-minitest 0.37.1 Fetching rubocop-performance 1.24.0 Installing rubocop-performance 1.24.0 Fetching rubocop-rake 0.7.1 Installing rubocop-rake 0.7.1 Fetching rubocop-rspec 3.5.0 Installing rubocop-rspec 3.5.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, 116 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.0.45/lib/jekyll-chatgpt-translate/ping.rb:32: 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 471 AMP pages generated in 37.56s places.txt generated tags.txt generated stats.svg generated Jekyll Feed: Generating feed for posts jekyll-shorts 0.0.10: 471 link(s) generated in 0.01s jekyll-chatgpt-translate 0.0.45 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? .....................................................................344,138 words in the entire blog, 13,813 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 (211246 bytes) /home/r/repo/_site/gnuplot/2014/11/hoc-vs-loc.svg created (89739 bytes) /home/r/repo/_site/places.txt created (1005 bytes) /home/r/repo/_site/tags.txt created (1185 bytes) /home/r/repo/_site/stats.svg created (60873 bytes) /home/r/repo/_site/words.txt created (92874 bytes) done in 133.767 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 1115 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: 28 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: 9 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 There are no orphans in 9774 links 128 links found, testing them... + links=/tmp/yegor256-20250322-1389-j4i6fw.txt + report=/tmp/yegor256-20250322-1389-felyu1.txt + export -f ping_uri + cmd='ping_uri "$0" >> "/tmp/yegor256-20250322-1389-felyu1.txt"; echo "$0";' + xargs -P 10 -n 1 /bin/bash -c 'ping_uri "$0" >> "/tmp/yegor256-20250322-1389-felyu1.txt"; echo "$0";' https://en.wikipedia.org/wiki/Power_and_control_in_abusive_relationships https://stackoverflow.com/a/18552071/187141 https://stackoverflow.com/a/14274358/187141 https://en.wikipedia.org/wiki/Plain_Old_Java_Object https://github.com/blundell/WoodyFaceDetection https://twitter.com/hashtag/seedramp?src=hash&ref_src=twsrc%5Etfw http://devternity.com/ https://twitter.com/yegor256/status/1097056700517863424?ref_src=twsrc%5Etfw https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_%D1%81%D1%87%D0%B0%D1%81%D1%82%D1%8C%D1%8F https://devopsconf.io/moscow/2018/abstracts/3723 https://blog.github.com/2016-02-17-issue-and-pull-request-templates/ https://www.jpeek.org https://github.com/yegor256/jare/blob/0.8.4/src/main/java/io/jare/model/Domain.java https://en.wikipedia.org/wiki/Jens_Rydgren https://github.com/FagnerMartinsBrack https://github.com/jcabi/jcabi-aspects https://projectlombok.org/features/GetterSetter https://www.foxnews.com/opinion/rep-will-hurd-conservative-cybersecurity-black-hat-conference https://mft.ieee.org/conferences_events/ConfPubFileUploadUI/ https://git-scm.com/ https://github.com/yegor256/sixnines/blob/0.17/dynamodb-local/pom.xml#L38-L60 https://www.upwork.com https://www.piter.com/collection/all/product/elegantnye-obekty-java-edition https://www.imdb.com/title/tt0266697/ https://github.com/crocinc/sql-boot https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html http://central.sonatype.org/pages/working-with-pgp-signatures.html https://ru.wikiquote.org/wiki/%D0%96%D0%B0%D0%BD_%D0%96%D0%BE%D1%80%D0%B5%D1%81 http://casitconf.org/casitconf16/talks/ http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html https://pypi.org/ https://twitter.com/jugru https://www.wilmerhale.com/insights/publications/patent-claim-preambles-july-16-2003 https://masterok.livejournal.com/1648005.html https://www.meetup.com/Object-Thinking/events/232602670/ https://github.com/dotenv-linter/dotenv-linter https://ru.wikipedia.org/wiki/%D0%9D%D0%B5_%D1%82%D0%B0%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D1%88%D0%B5%D0%BD_%D1%87%D1%91%D1%80%D1%82,_%D0%BA%D0%B0%D0%BA_%D0%B5%D0%B3%D0%BE_%D0%BC%D0%B0%D0%BB%D1%8E%D1%8E%D1%82 http://lucalongo.eu/howtowritearesearchpaper.html https://500.co/ https://www.xml.com/pub/a/2002/03/20/xpath2.html https://github.com/repeating https://maven.apache.org/guides/introduction/introduction-to-the-pom.html https://amzn.to/2O1MBIg https://www.apple.com/lae/pages/ http://korrespondent.net/ukraine/politics/3310015-avakov-ne-znaet-hde-yanukovych http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html https://twitter.com/yegor256/status/1259373923180982272?ref_src=twsrc%5Etfw https://twitter.com/intent/follow?screen_name=iccq_ru https://www.zerocracy.com/policy.html#50 http://static.javadoc.io/org.takes/takes/1.1/org/takes/http/FtCli.html https://www.facebook.com/yegor256/posts/10209204748545730 https://ricardo-vargas.com/podcasts/ http://podrobnosti.ua/2030732-sudju-iz-zakarpatja-ne-mogut-nakazat-za-smertelnoe-dtp.html https://en.wikipedia.org/wiki/Project_slippage https://github.com/goreleaser/goreleaser https://github.com/Shopify/liquid https://dev.twitter.com/cards/types/summary-large-image https://github.com/InnoTutor https://www.slideshare.net/YegorBugayenko/practical-example-of-aop-with-aspectj http://download.java.net/java/jdk9/docs/api/java/io/InputStream.html https://en.wikipedia.org/wiki/On_the_Genealogy_of_Morality https://github.com/Ahuratus/Trajectory-Detection-Web-services https://ru.wikipedia.org/wiki/%D0%97%D0%B0_%D0%A0%D0%BE%D0%B4%D0%B8%D0%BD%D1%83,_%D0%B7%D0%B0_%D0%A1%D1%82%D0%B0%D0%BB%D0%B8%D0%BD%D0%B0! https://www.overleaf.com/learn/how-to/Using_bibliographies_on_Overleaf https://github.com/yegor256/sixnines/blob/0.17/Rakefile#L50-L67 https://www.sjsu.edu/writingcenter/docs/handouts/Discussion%20Section%20for%20Research%20Papers.pdf https://netbeans.org/ https://daringfireball.net/projects/markdown/ https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%81%D0%B0%D0%B5%D0%B2,_%D0%A8%D0%B0%D0%BC%D0%B8%D0%BB%D1%8C_%D0%A1%D0%B0%D0%BB%D0%BC%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87 https://www.collaborationsuperpowers.com https://twitter.com/hashtag/sociotech?src=hash&ref_src=twsrc%5Etfw https://github.com/yegor256/pdd xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option http://search.maven.org/ http://lib.pushkinskijdom.ru/Default.aspx?tabid=10940 https://www.vedomosti.ru/politics/articles/2023/09/04/993246-chto-znachit-arest-kolomoiskogo-na-ukraine https://github.com/Denisalik https://www.dp.ru/a/2019/03/24/Vse_chto_ne_neft_i_ne_gaz https://ssir.org/articles/entry/open_source_software_is_philanthropy https://en.wikipedia.org/wiki/Kim_Jong-un http://www.theartwolf.com/articles/most-important-painters.htm https://www.brainbench.com/ http://www.solor.gov.ua/info/19/8264 https://dev.events/: 403 https://www.upwork.com/: 403 http://casitconf.org/casitconf16/talks/: 404 https://www.zerocracy.com/policy.html#50: 404 https://www.facebook.com/yegor256/posts/10209204748545730: 400 https://podrobnosti.ua/2030732-sudju-iz-zakarpatja-ne-mogut-nakazat-za-smertelnoe-dtp.html: 403 https://download.java.net/java/jdk9/docs/api/java/io/InputStream.html: 404 https://www.brainbench.com/: 000 http://www.solor.gov.ua/info/19/8264: 000 128 links are found, 9 are broken, it's more or less OK (7%) 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-wLA + trap 'rm -rf /tmp/jgd-wLA' EXIT + CLONE=/tmp/jgd-wLA/clone + COPY=/tmp/jgd-wLA/copy + echo -e 'Cloning Github repository:' Cloning Github repository: + git clone -b master git@github.com:yegor256/blog.git /tmp/jgd-wLA/clone Cloning into '/tmp/jgd-wLA/clone'... Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. remote: Enumerating objects: 1565854, done.K remote: Counting objects: 100% (94/94), done.K remote: Compressing objects: 100% (67/67), done.K remote:nTotale15658549(delta232),1reused)467(deltaM15),3pack-reused 1565760 (from 4)K Receiving objects: 100% (1565854/1565854), 774.95 MiB | 33.59 MiB/s, done. Resolving deltas: 100% (1217494/1217494), done. + cp -R /tmp/jgd-wLA/clone /tmp/jgd-wLA/copy + cd /tmp/jgd-wLA/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-wLA/clone/_config.yml Configuration file: /home/r/repo/_config-deploy.yml /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-chatgpt-translate-0.0.45/lib/jekyll-chatgpt-translate/ping.rb:32: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER Source: /tmp/jgd-wLA/clone Destination: /tmp/jgd-wLA/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-wLA/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-wLA/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-wLA/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-wLA/clone/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg created (3435 bytes) YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice? File /tmp/jgd-wLA/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-wLA/clone/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg created (4461 bytes) File /tmp/jgd-wLA/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-wLA/clone/uml/653125b6c32d12b7325dba52054c09ca.svg created (3495 bytes) File /tmp/jgd-wLA/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-wLA/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-wLA/clone/uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg created (13459 bytes) File /tmp/jgd-wLA/clone/uml/930f06f36724929287c1ee82fd95c77b.svg created (8543 bytes) YouTube video rsWrgxm8ktU found: Fat and Skinny Design (Webinar #51) File /tmp/jgd-wLA/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 471 AMP pages generated in 36.54s places.txt generated tags.txt generated stats.svg generated Jekyll Feed: Generating feed for posts jekyll-shorts 0.0.10: 471 link(s) generated in 0.01s jekyll-chatgpt-translate 0.0.45 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/2024/02/06/research-flow.html" (634 words) No need to translate, the page exists at "/ru/2024/02/06/research-flow.html" (1036 words) No need to translate, the page exists at "/zh/2015/10/16/ridley-scott-and-joseph-goebbels.html" (652 words) No need to translate, the page exists at "/ru/2015/10/16/ridley-scott-and-joseph-goebbels.html" (1268 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 "/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/2016/03/08/pimp-up-your-resume.html" (632 words) No need to translate, the page exists at "/ru/2016/03/08/pimp-up-your-resume.html" (2877 words) No need to translate, the page exists at "/zh/2014/10/03/di-containers-are-evil.html" (674 words) No need to translate, the page exists at "/ru/2014/10/03/di-containers-are-evil.html" (1206 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 "/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/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 "/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/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/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/01/26/happy-boss-false-objective.html" (621 words) No need to translate, the page exists at "/ru/2015/01/26/happy-boss-false-objective.html" (1473 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/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/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 "/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/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/2015/04/16/award.html" (2600 words) No need to translate, the page exists at "/ru/2015/04/16/award.html" (3655 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 "/zh/2015/09/16/how-to-fire-someone-right.html" (607 words) No need to translate, the page exists at "/ru/2015/09/16/how-to-fire-someone-right.html" (992 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/2016/07/21/convince-me.html" (627 words) No need to translate, the page exists at "/ru/2016/07/21/convince-me.html" (1355 words) No need to translate, the page exists at "/zh/2014/08/15/retry-java-method-on-exception.html" (630 words) No need to translate, the page exists at "/ru/2014/08/15/retry-java-method-on-exception.html" (730 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/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/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 "/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/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/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/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/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/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/2018/01/16/educational-aspect-of-static-analysis.html" (646 words) No need to translate, the page exists at "/ru/2018/01/16/educational-aspect-of-static-analysis.html" (944 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/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/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/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/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 "/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 "/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/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/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 "/en/2019/07/07/strong-opinions.html" (1773 words) No need to translate, the page exists at "/zh/2019/07/07/strong-opinions.html" (821 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 "/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/2016/05/24/who-is-project-manager.html" (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/2014/06/01/aop-aspectj-java-method-logging.html" (903 words) No need to translate, the page exists at "/ru/2014/06/01/aop-aspectj-java-method-logging.html" (1686 words) No need to translate, the page exists at "/zh/2015/06/25/xml-data-xsl-views-takes-framework.html" (682 words) No need to translate, the page exists at "/ru/2015/06/25/xml-data-xsl-views-takes-framework.html" (1202 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/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/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 "/en/2017/01/16/ukrainian-startups.html" (1583 words) No need to translate, the page exists at "/zh/2017/01/16/ukrainian-startups.html" (822 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/2014/10/21/incremental-billing.html" (605 words) No need to translate, the page exists at "/ru/2014/10/21/incremental-billing.html" (1277 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/2015/06/15/software-outsourcing-survival-guide.html" (641 words) No need to translate, the page exists at "/ru/2015/06/15/software-outsourcing-survival-guide.html" (1301 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 "/zh/2021/06/01/tips-for-recruiters.html" (614 words) No need to translate, the page exists at "/ru/2021/06/01/tips-for-recruiters.html" (2047 words) No need to translate, the page exists at "/zh/2017/12/12/alan-kay-was-wrong.html" (616 words) No need to translate, the page exists at "/ru/2017/12/12/alan-kay-was-wrong.html" (959 words) No need to translate, the page exists at "/zh/2014/05/23/avoid-java-static-logger.html" (661 words) No need to translate, the page exists at "/ru/2014/05/23/avoid-java-static-logger.html" (795 words) No need to translate, the page exists at "/en/2019/01/28/the-wall.html" (1439 words) No need to translate, the page exists at "/zh/2019/01/28/the-wall.html" (829 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/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/2014/04/09/xembly-intro.html" (661 words) No need to translate, the page exists at "/ru/2014/04/09/xembly-intro.html" (1233 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/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/2014/12/18/independent-technical-reviews.html" (611 words) No need to translate, the page exists at "/ru/2014/12/18/independent-technical-reviews.html" (1461 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/2017/01/31/decorating-envelopes.html" (699 words) No need to translate, the page exists at "/ru/2017/01/31/decorating-envelopes.html" (872 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/2015/10/20/interrupted-exception.html" (705 words) No need to translate, the page exists at "/ru/2015/10/20/interrupted-exception.html" (1436 words) No need to translate, the page exists at "/zh/2019/03/12/how-to-move-faster.html" (875 words) No need to translate, the page exists at "/ru/2019/03/12/how-to-move-faster.html" (1597 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/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/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/2017/12/19/srp-is-hoax.html" (653 words) No need to translate, the page exists at "/ru/2017/12/19/srp-is-hoax.html" (1130 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 "/en/2017/01/12/will-i-go-to-war.html" (1166 words) No need to translate, the page exists at "/zh/2017/01/12/will-i-go-to-war.html" (828 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/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/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 "/en/2017/01/02/ukraine-budget-2017.html" (1242 words) No need to translate, the page exists at "/zh/2017/01/02/ukraine-budget-2017.html" (836 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 "/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 "/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/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 "/zh/2023/01/19/layout-of-tests.html" (724 words) No need to translate, the page exists at "/ru/2023/01/19/layout-of-tests.html" (2104 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 "/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/2016/04/19/object-must-not-be-configurable.html" (667 words) No need to translate, the page exists at "/ru/2016/04/19/object-must-not-be-configurable.html" (1200 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 "/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/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/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/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 "/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/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/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 "/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 "/zh/2019/12/24/altruism-kills.html" (610 words) No need to translate, the page exists at "/ru/2019/12/24/altruism-kills.html" (1364 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 "/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/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/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 "/zh/2016/09/20/oop-without-classes.html" (605 words) No need to translate, the page exists at "/ru/2016/09/20/oop-without-classes.html" (712 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 "/zh/2016/08/05/distributed-teams-are-higher-quality.html" (623 words) No need to translate, the page exists at "/ru/2016/08/05/distributed-teams-are-higher-quality.html" (1367 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/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/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 "/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 "/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/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/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/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/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/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 "/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/2014/10/23/paired-brackets-notation.html" (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/2023/09/17/turbulence.html" (1808 words) No need to translate, the page exists at "/zh/2023/09/17/turbulence.html" (865 words) No need to translate, the page exists at "/zh/2018/09/30/award-2019.html" (880 words) No need to translate, the page exists at "/ru/2018/09/30/award-2019.html" (1219 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 "/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/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/2018/09/12/clear-code.html" (628 words) No need to translate, the page exists at "/ru/2018/09/12/clear-code.html" (1020 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/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 "/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/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/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/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/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/2018/11/06/ruby-threads.html" (669 words) No need to translate, the page exists at "/ru/2018/11/06/ruby-threads.html" (1151 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 "/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/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 "/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/04/21/s3-http-basic-auth.html" (718 words) No need to translate, the page exists at "/ru/2014/04/21/s3-http-basic-auth.html" (1395 words) No need to translate, the page exists at "/zh/2019/06/26/syncem.html" (641 words) No need to translate, the page exists at "/ru/2019/06/26/syncem.html" (843 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/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/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/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/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" (2429 words) No need to translate, the page exists at "/zh/2017/08/08/raii-in-java.html" (667 words) No need to translate, the page exists at "/ru/2017/08/08/raii-in-java.html" (1081 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/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 "/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/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/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/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 "/zh/2017/08/29/xcop.html" (627 words) No need to translate, the page exists at "/ru/2017/08/29/xcop.html" (862 words) No need to translate, the page exists at "/zh/2014/08/25/deploy-to-cloudbees.html" (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 "/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/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/2017/05/23/unlimited-number-of-bugs.html" (644 words) No need to translate, the page exists at "/ru/2017/05/23/unlimited-number-of-bugs.html" (993 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" (1171 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/04/17/how-xdsd-is-different.html" (609 words) No need to translate, the page exists at "/ru/2014/04/17/how-xdsd-is-different.html" (1480 words) No need to translate, the page exists at "/zh/2016/07/10/software-project-roles.html" (674 words) No need to translate, the page exists at "/ru/2016/07/10/software-project-roles.html" (901 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/2018/12/25/speaker-cheat-sheet.html" (643 words) No need to translate, the page exists at "/ru/2018/12/25/speaker-cheat-sheet.html" (1544 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/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 "/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/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/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/2021/12/01/teaching.html" (680 words) No need to translate, the page exists at "/ru/2021/12/01/teaching.html" (1867 words) No need to translate, the page exists at "/zh/2014/12/04/synchronization-between-nodes.html" (610 words) No need to translate, the page exists at "/ru/2014/12/04/synchronization-between-nodes.html" (1077 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/2018/09/05/monolithic-repositories.html" (729 words) No need to translate, the page exists at "/ru/2018/09/05/monolithic-repositories.html" (1839 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/2016/01/19/how-expensive-is-outsourcing.html" (619 words) No need to translate, the page exists at "/ru/2016/01/19/how-expensive-is-outsourcing.html" (1346 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 "/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/2015/09/10/testing-exit-criteria.html" (623 words) No need to translate, the page exists at "/ru/2015/09/10/testing-exit-criteria.html" (1139 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/2015/03/09/objects-end-with-er.html" (672 words) No need to translate, the page exists at "/ru/2015/03/09/objects-end-with-er.html" (1184 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/2015/06/22/valid-reasons-to-reject-bug-fix.html" (660 words) No need to translate, the page exists at "/ru/2015/06/22/valid-reasons-to-reject-bug-fix.html" (1323 words) No need to translate, the page exists at "/zh/2015/05/04/how-to-protect-business-idea.html" (619 words) No need to translate, the page exists at "/ru/2015/05/04/how-to-protect-business-idea.html" (1923 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/2018/01/09/micro-budgeting.html" (632 words) No need to translate, the page exists at "/ru/2018/01/09/micro-budgeting.html" (1343 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/2019/01/29/dependency-hell.html" (681 words) No need to translate, the page exists at "/ru/2019/01/29/dependency-hell.html" (1219 words) No need to translate, the page exists at "/en/2019/02/16/calibrated-democracy.html" (1626 words) No need to translate, the page exists at "/zh/2019/02/16/calibrated-democracy.html" (839 words) No need to translate, the page exists at "/zh/2015/08/25/fail-fast.html" (615 words) No need to translate, the page exists at "/ru/2015/08/25/fail-fast.html" (1041 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/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/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/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/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/2024/07/07/checking-object-existence.html" (913 words) No need to translate, the page exists at "/ru/2024/07/07/checking-object-existence.html" (1396 words) No need to translate, the page exists at "/zh/2016/03/01/how-we-interview-programmers.html" (603 words) No need to translate, the page exists at "/ru/2016/03/01/how-we-interview-programmers.html" (1293 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/2019/11/03/award-2020.html" (1081 words) No need to translate, the page exists at "/ru/2019/11/03/award-2020.html" (1421 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 "/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/2016/01/12/good-programmers-dont-work-for-equity.html" (613 words) No need to translate, the page exists at "/ru/2016/01/12/good-programmers-dont-work-for-equity.html" (836 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/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/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/2014/04/24/java-xml-parsing-and-traversing.html" (628 words) No need to translate, the page exists at "/ru/2014/04/24/java-xml-parsing-and-traversing.html" (800 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 "/zh/2021/09/09/simba.html" (627 words) No need to translate, the page exists at "/ru/2021/09/09/simba.html" (1352 words) No need to translate, the page exists at "/zh/2018/07/24/bugs-or-pull-requests.html" (659 words) No need to translate, the page exists at "/ru/2018/07/24/bugs-or-pull-requests.html" (844 words) No need to translate, the page exists at "/en/2024/04/02/kulikovo-pole.html" (2364 words) No need to translate, the page exists at "/zh/2024/04/02/kulikovo-pole.html" (878 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 "/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/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/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/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/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 "/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/2020/10/27/distance-of-coupling.html" (660 words) No need to translate, the page exists at "/ru/2020/10/27/distance-of-coupling.html" (1371 words) No need to translate, the page exists at "/zh/2024/06/09/patent-claim.html" (893 words) No need to translate, the page exists at "/ru/2024/06/09/patent-claim.html" (1977 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 "/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/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 "/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 "/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 "/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/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/2016/01/05/how-to-punish-employees.html" (628 words) No need to translate, the page exists at "/ru/2016/01/05/how-to-punish-employees.html" (1456 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 "/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/2019/04/02/software-project-review-checklist.html" (646 words) No need to translate, the page exists at "/ru/2019/04/02/software-project-review-checklist.html" (1026 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/11/14/hits-of-code.html" (625 words) No need to translate, the page exists at "/ru/2014/11/14/hits-of-code.html" (1406 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 "/zh/2016/06/21/how-to-hire-programmer.html" (613 words) No need to translate, the page exists at "/ru/2016/06/21/how-to-hire-programmer.html" (1518 words) No need to translate, the page exists at "/zh/2014/10/29/how-much-do-you-cost.html" (621 words) No need to translate, the page exists at "/ru/2014/10/29/how-much-do-you-cost.html" (2905 words) No need to translate, the page exists at "/zh/2019/04/23/elegant-readme.html" (644 words) No need to translate, the page exists at "/ru/2019/04/23/elegant-readme.html" (1855 words) No need to translate, the page exists at "/zh/2017/01/03/how-much-you-love-conflicts.html" (607 words) No need to translate, the page exists at "/ru/2017/01/03/how-much-you-love-conflicts.html" (1726 words) No need to translate, the page exists at "/zh/2017/05/10/inversion-of-control.html" (651 words) No need to translate, the page exists at "/ru/2017/05/10/inversion-of-control.html" (858 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/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/2016/02/09/are-you-still-debugging.html" (635 words) No need to translate, the page exists at "/ru/2016/02/09/are-you-still-debugging.html" (1226 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/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/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/2017/10/17/lazy-loading-caching-sticky-cactoos.html" (687 words) No need to translate, the page exists at "/ru/2017/10/17/lazy-loading-caching-sticky-cactoos.html" (1153 words) No need to translate, the page exists at "/zh/2015/07/13/meetings-are-legalized-robbery.html" (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/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/2014/08/03/cacheable-java-annotation.html" (650 words) No need to translate, the page exists at "/ru/2014/08/03/cacheable-java-annotation.html" (882 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/2018/11/23/freelance-vs-outsourcing.html" (857 words) No need to translate, the page exists at "/ru/2018/11/23/freelance-vs-outsourcing.html" (1160 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/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/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/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/2014/08/26/publish-to-rubygems.html" (687 words) No need to translate, the page exists at "/ru/2014/08/26/publish-to-rubygems.html" (938 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/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/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/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/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/2018/10/30/mailanes.html" (654 words) No need to translate, the page exists at "/ru/2018/10/30/mailanes.html" (1150 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/2023/08/01/method-overloading.html" (637 words) No need to translate, the page exists at "/ru/2023/08/01/method-overloading.html" (1139 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 "/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/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 "/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 "/zh/2017/02/07/private-method-is-new-class.html" (669 words) No need to translate, the page exists at "/ru/2017/02/07/private-method-is-new-class.html" (899 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/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 "/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 "/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/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/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 "/zh/2015/03/02/team-morale-myths-and-reality.html" (608 words) No need to translate, the page exists at "/ru/2015/03/02/team-morale-myths-and-reality.html" (1308 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 "/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 "/zh/2014/12/01/orm-offensive-anti-pattern.html" (716 words) No need to translate, the page exists at "/ru/2014/12/01/orm-offensive-anti-pattern.html" (2232 words) No need to translate, the page exists at "/zh/2017/11/07/five-new-java-features.html" (669 words) No need to translate, the page exists at "/ru/2017/11/07/five-new-java-features.html" (1244 words) No need to translate, the page exists at "/zh/2018/11/13/bigotry.html" (667 words) No need to translate, the page exists at "/ru/2018/11/13/bigotry.html" (1394 words) No need to translate, the page exists at "/zh/2016/06/27/singletons-must-die.html" (656 words) No need to translate, the page exists at "/ru/2016/06/27/singletons-must-die.html" (1016 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 "/zh/2017/01/24/career-advice.html" (617 words) No need to translate, the page exists at "/ru/2017/01/24/career-advice.html" (1400 words) No need to translate, the page exists at "/zh/2018/04/10/learning-by-refactoring.html" (711 words) No need to translate, the page exists at "/ru/2018/04/10/learning-by-refactoring.html" (1818 words) No need to translate, the page exists at "/zh/2022/07/20/command-line-defaults.html" (700 words) No need to translate, the page exists at "/ru/2022/07/20/command-line-defaults.html" (1040 words) No need to translate, the page exists at "/en/2024/01/03/not-able-to-speak.html" (1224 words) No need to translate, the page exists at "/zh/2024/01/03/not-able-to-speak.html" (839 words) No need to translate, the page exists at "/zh/2023/09/19/five-ingredients-career.html" (611 words) No need to translate, the page exists at "/ru/2023/09/19/five-ingredients-career.html" (1226 words) No need to translate, the page exists at "/zh/2017/08/01/how-to-manage-a-manager.html" (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/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/2019/03/26/sales-kit.html" (865 words) No need to translate, the page exists at "/ru/2019/03/26/sales-kit.html" (1502 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/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/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" (1058 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/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 "/zh/2015/03/16/technical-glossaries.html" (631 words) No need to translate, the page exists at "/ru/2015/03/16/technical-glossaries.html" (1254 words) No need to translate, the page exists at "/zh/2020/10/06/latex-spell-checking.html" (690 words) No need to translate, the page exists at "/ru/2020/10/06/latex-spell-checking.html" (1084 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/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/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/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/2016/10/23/award-2017.html" (979 words) No need to translate, the page exists at "/ru/2016/10/23/award-2017.html" (1716 words) No need to translate, the page exists at "/zh/2015/11/24/imprisonment-for-irresponsible-coding.html" (611 words) No need to translate, the page exists at "/ru/2015/11/24/imprisonment-for-irresponsible-coding.html" (792 words) No need to translate, the page exists at "/en/2024/09/21/interpreters-of-chaos.html" (1609 words) No need to translate, the page exists at "/zh/2024/09/21/interpreters-of-chaos.html" (842 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/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/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/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/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/2024/12/15/open-source-beginner-advice.html" (874 words) No need to translate, the page exists at "/ru/2024/12/15/open-source-beginner-advice.html" (1720 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/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 "/zh/2017/11/28/microtasking.html" (621 words) No need to translate, the page exists at "/ru/2017/11/28/microtasking.html" (2339 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 "/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 "/zh/2016/05/17/convertible-notes.html" (623 words) No need to translate, the page exists at "/ru/2016/05/17/convertible-notes.html" (2373 words) No need to translate, the page exists at "/zh/2023/11/28/research-questionnaire.html" (622 words) No need to translate, the page exists at "/ru/2023/11/28/research-questionnaire.html" (1063 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/2016/11/09/why-no-ebooks.html" (650 words) No need to translate, the page exists at "/ru/2016/11/09/why-no-ebooks.html" (1307 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/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/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/2017/02/14/stackoverflow-is-your-tool.html" (633 words) No need to translate, the page exists at "/ru/2017/02/14/stackoverflow-is-your-tool.html" (1331 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/2017/06/22/object-oriented-input-output-in-cactoos.html" (709 words) No need to translate, the page exists at "/ru/2017/06/22/object-oriented-input-output-in-cactoos.html" (1243 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/2015/05/13/two-instruments-of-software-architect.html" (605 words) No need to translate, the page exists at "/ru/2015/05/13/two-instruments-of-software-architect.html" (1096 words) No need to translate, the page exists at "/zh/2016/03/22/try-finally-if-not-null.html" (630 words) No need to translate, the page exists at "/ru/2016/03/22/try-finally-if-not-null.html" (817 words) No need to translate, the page exists at "/zh/2019/06/11/where-do-you-seek-help.html" (641 words) No need to translate, the page exists at "/ru/2019/06/11/where-do-you-seek-help.html" (1225 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/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/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/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/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/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" (667 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 "/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/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/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 "/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/2023/08/08/two-step-initialization.html" (803 words) No need to translate, the page exists at "/ru/2023/08/08/two-step-initialization.html" (1821 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/06/11/wikipedia-bug-definition.html" (625 words) No need to translate, the page exists at "/ru/2015/06/11/wikipedia-bug-definition.html" (979 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/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/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/2019/07/02/tdd-misbeliefs.html" (1278 words) No need to translate, the page exists at "/ru/2019/07/02/tdd-misbeliefs.html" (1413 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 "/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/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/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 "/en/2023/10/01/individualism-vs-collectivism.html" (1575 words) No need to translate, the page exists at "/zh/2023/10/01/individualism-vs-collectivism.html" (838 words) No need to translate, the page exists at "/zh/2015/12/16/investors-are-too-scared.html" (617 words) No need to translate, the page exists at "/ru/2015/12/16/investors-are-too-scared.html" (1660 words) No need to translate, the page exists at "/zh/2015/10/17/award-2016.html" (1432 words) No need to translate, the page exists at "/ru/2015/10/17/award-2016.html" (2118 words) No need to translate, the page exists at "/en/2024/05/27/freedom-of-speech-vs-intelligence.html" (1610 words) No need to translate, the page exists at "/zh/2024/05/27/freedom-of-speech-vs-intelligence.html" (844 words) No need to translate, the page exists at "/zh/2014/06/09/objects-should-be-immutable.html" (673 words) No need to translate, the page exists at "/ru/2014/06/09/objects-should-be-immutable.html" (1582 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 "/en/2019/03/17/terrorism-and-power.html" (1437 words) No need to translate, the page exists at "/zh/2019/03/17/terrorism-and-power.html" (836 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 "/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/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/2020/01/15/question-never-ask.html" (626 words) No need to translate, the page exists at "/ru/2020/01/15/question-never-ask.html" (975 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/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/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 "/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/2014/10/05/ten-hosted-continuous-integration-services.html" (911 words) No need to translate, the page exists at "/ru/2014/10/05/ten-hosted-continuous-integration-services.html" (1745 words) No need to translate, the page exists at "/zh/2018/12/18/silicon-valley-criticism.html" (657 words) No need to translate, the page exists at "/ru/2018/12/18/silicon-valley-criticism.html" (2205 words) No need to translate, the page exists at "/zh/2018/03/06/speed-vs-quality.html" (652 words) No need to translate, the page exists at "/ru/2018/03/06/speed-vs-quality.html" (1214 words) No need to translate, the page exists at "/en/2018/01/03/fake-opposition.html" (1336 words) No need to translate, the page exists at "/zh/2018/01/03/fake-opposition.html" (808 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/2023/10/11/method-of-research.html" (663 words) No need to translate, the page exists at "/ru/2023/10/11/method-of-research.html" (1047 words) No need to translate, the page exists at "/zh/2023/09/05/style-checker-for-bibtex-files.html" (667 words) No need to translate, the page exists at "/ru/2023/09/05/style-checker-for-bibtex-files.html" (999 words) No need to translate, the page exists at "/zh/2015/02/23/haircut.html" (591 words) No need to translate, the page exists at "/ru/2015/02/23/haircut.html" (1001 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/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 "/zh/2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html" (658 words) No need to translate, the page exists at "/ru/2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html" (1019 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/2014/04/13/no-obligations-principle.html" (609 words) No need to translate, the page exists at "/ru/2014/04/13/no-obligations-principle.html" (1289 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/2020/03/29/coronavirus.html" (1643 words) No need to translate, the page exists at "/zh/2020/03/29/coronavirus.html" (842 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/2016/08/10/if-then-else-code-smell.html" (637 words) No need to translate, the page exists at "/ru/2016/08/10/if-then-else-code-smell.html" (869 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/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/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/2016/09/13/inheritance-is-procedural.html" (658 words) No need to translate, the page exists at "/ru/2016/09/13/inheritance-is-procedural.html" (1140 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/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/2018/06/19/glogin.html" (658 words) No need to translate, the page exists at "/ru/2018/06/19/glogin.html" (889 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/01/07/embrace-the-chaos.html" (624 words) No need to translate, the page exists at "/ru/2020/01/07/embrace-the-chaos.html" (966 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/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/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/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/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 "/zh/2015/02/26/composable-decorators.html" (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 "/en/2016/12/01/what-is-wrong-about-guns.html" (1441 words) No need to translate, the page exists at "/zh/2016/12/01/what-is-wrong-about-guns.html" (828 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/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/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/2014/05/21/mysql-maven-plugin.html" (677 words) No need to translate, the page exists at "/ru/2014/05/21/mysql-maven-plugin.html" (1057 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/2014/08/29/docker-non-root.html" (671 words) No need to translate, the page exists at "/ru/2014/08/29/docker-non-root.html" (755 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 "/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/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/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/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 "/en/2023/08/13/dictators.html" (1717 words) No need to translate, the page exists at "/zh/2023/08/13/dictators.html" (829 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/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/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/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 "/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/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/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/2015/07/16/fools-dont-write-unit-tests.html" (623 words) No need to translate, the page exists at "/ru/2015/07/16/fools-dont-write-unit-tests.html" (1101 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/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 "/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/2021/08/04/prestructors.html" (619 words) No need to translate, the page exists at "/ru/2021/08/04/prestructors.html" (809 words) No need to translate, the page exists at "/zh/2018/10/16/dont-make-me-guess.html" (627 words) No need to translate, the page exists at "/ru/2018/10/16/dont-make-me-guess.html" (1185 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/2022/08/30/dont-group-exception-catchers.html" (672 words) No need to translate, the page exists at "/ru/2022/08/30/dont-group-exception-catchers.html" (906 words) No need to translate, the page exists at "/zh/2020/02/11/object-cohesion.html" (660 words) No need to translate, the page exists at "/ru/2020/02/11/object-cohesion.html" (1174 words) No need to translate, the page exists at "/zh/2015/03/22/takes-java-web-framework.html" (963 words) No need to translate, the page exists at "/ru/2015/03/22/takes-java-web-framework.html" (2638 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/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/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/2018/08/29/soft-skills.html" (626 words) No need to translate, the page exists at "/ru/2018/08/29/soft-skills.html" (1381 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 "/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/2020/12/22/self-managing-orgs.html" (622 words) No need to translate, the page exists at "/ru/2020/12/22/self-managing-orgs.html" (1490 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/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 "/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/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/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/2014/06/26/sass-in-java-webapp.html" (653 words) No need to translate, the page exists at "/ru/2014/06/26/sass-in-java-webapp.html" (714 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/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 "/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/2010/03/04/pdd.html" (630 words) No need to translate, the page exists at "/ru/2010/03/04/pdd.html" (1262 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/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/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/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 "/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/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/2018/05/22/default-arguments-against-null.html" (679 words) No need to translate, the page exists at "/ru/2018/05/22/default-arguments-against-null.html" (847 words) No need to translate, the page exists at "/zh/2018/12/11/unit-testing-anti-patterns.html" (705 words) No need to translate, the page exists at "/ru/2018/12/11/unit-testing-anti-patterns.html" (1462 words) No need to translate, the page exists at "/en/2019/04/28/formula-of-happiness.html" (1588 words) No need to translate, the page exists at "/zh/2019/04/28/formula-of-happiness.html" (824 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/2017/10/24/award-2018.html" (1190 words) No need to translate, the page exists at "/ru/2017/10/24/award-2018.html" (1775 words) No need to translate, the page exists at "/zh/2014/07/21/read-only-master-branch.html" (659 words) No need to translate, the page exists at "/ru/2014/07/21/read-only-master-branch.html" (1562 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/2014/09/09/restful-web-sites.html" (684 words) No need to translate, the page exists at "/ru/2014/09/09/restful-web-sites.html" (1292 words) No need to translate, the page exists at "/zh/2018/05/29/object-validation.html" (644 words) No need to translate, the page exists at "/ru/2018/05/29/object-validation.html" (1106 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/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/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/2017/02/21/say-no-to-google-recruiters.html" (655 words) No need to translate, the page exists at "/ru/2017/02/21/say-no-to-google-recruiters.html" (1268 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/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/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/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/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/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/2016/08/30/decomposition-of-responsibility.html" (667 words) No need to translate, the page exists at "/ru/2016/08/30/decomposition-of-responsibility.html" (986 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/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) jekyll-chatgpt-translate 0.0.45: 0 pages translated and 942 pages copied in 17.84s 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: /tmp/jgd-wLA/clone/_config.yml YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33) .YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23) YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that File /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg already exists (3435 bytes) YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice? File /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg already exists (4461 bytes) File /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/uml/653125b6c32d12b7325dba52054c09ca.svg already exists (3495 bytes) File /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg already exists (13459 bytes) File /tmp/jgd-wLA/clone/uml/930f06f36724929287c1ee82fd95c77b.svg already exists (8543 bytes) YouTube video rsWrgxm8ktU found: Fat and Skinny Design (Webinar #51) .File /tmp/jgd-wLA/clone/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? .....................................................................344,138 words in the entire blog, 13,813 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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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 /tmp/jgd-wLA/clone/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/tmp/jgd-wLA/clone/_site/rss.xml0m0m 33m - rss.xml0m 33m - /tmp/jgd-wLA/clone/_site/rss.xml0m 33m 0m /tmp/jgd-wLA/clone/_site/buffer.rss created (211236 bytes) /tmp/jgd-wLA/clone/_site/gnuplot/2014/11/hoc-vs-loc.svg created (89739 bytes) /tmp/jgd-wLA/clone/_site/places.txt created (1005 bytes) /tmp/jgd-wLA/clone/_site/tags.txt created (1185 bytes) /tmp/jgd-wLA/clone/_site/stats.svg created (60873 bytes) /tmp/jgd-wLA/clone/_site/words.txt created (92874 bytes) Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2024/02/06/research-flow.html" Saved 1036 words to "/tmp/jgd-wLA/clone/_site/ru/2024/02/06/research-flow.html" Saved 652 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/16/ridley-scott-and-joseph-goebbels.html" Saved 1268 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/16/ridley-scott-and-joseph-goebbels.html" Saved 666 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/25/xml-and-xslt-in-browser.html" Saved 1419 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/25/xml-and-xslt-in-browser.html" Saved 665 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/19/avoid-string-concatenation.html" Saved 1085 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/19/avoid-string-concatenation.html" Saved 632 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/08/pimp-up-your-resume.html" Saved 2877 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/08/pimp-up-your-resume.html" Saved 674 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/03/di-containers-are-evil.html" Saved 1206 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/03/di-containers-are-evil.html" Saved 651 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/18/fluent-jdbc-decorator.html" Saved 865 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/18/fluent-jdbc-decorator.html" Saved 648 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/20/liquibase-in-maven.html" Saved 977 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/20/liquibase-in-maven.html" Saved 673 words to "/tmp/jgd-wLA/clone/_site/zh/2018/06/26/are-you-an-architect.html" Saved 2105 words to "/tmp/jgd-wLA/clone/_site/ru/2018/06/26/are-you-an-architect.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2019/05/28/trust-or-not.html" Saved 1356 words to "/tmp/jgd-wLA/clone/_site/ru/2019/05/28/trust-or-not.html" Saved 662 words to "/tmp/jgd-wLA/clone/_site/zh/2023/07/25/contribute-disabled-tests.html" Saved 972 words to "/tmp/jgd-wLA/clone/_site/ru/2023/07/25/contribute-disabled-tests.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/11/cost-of-loc.html" Saved 1350 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/11/cost-of-loc.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/26/happy-boss-false-objective.html" Saved 1473 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/26/happy-boss-false-objective.html" Saved 614 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/23/communication-maturity.html" Saved 1068 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/23/communication-maturity.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/13/competition-without-rules.html" Saved 977 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/13/competition-without-rules.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2019/06/19/how-much-they-suffer.html" Saved 1329 words to "/tmp/jgd-wLA/clone/_site/ru/2019/06/19/how-much-they-suffer.html" Saved 1732 words to "/tmp/jgd-wLA/clone/_site/en/2019/07/31/moscow-protests.html" Saved 845 words to "/tmp/jgd-wLA/clone/_site/zh/2019/07/31/moscow-protests.html" Saved 672 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/11/flexibility-equates-lower-quality.html" Saved 1197 words to "/tmp/jgd-wLA/clone/_site/ru/2017/04/11/flexibility-equates-lower-quality.html" Saved 2600 words to "/tmp/jgd-wLA/clone/_site/zh/2015/04/16/award.html" Saved 3655 words to "/tmp/jgd-wLA/clone/_site/ru/2015/04/16/award.html" Saved 1255 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/19/privatbank-nationalization.html" Saved 835 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/19/privatbank-nationalization.html" Saved 607 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/16/how-to-fire-someone-right.html" Saved 992 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/16/how-to-fire-someone-right.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2023/12/26/defend-me-against-chatgpt.html" Saved 1122 words to "/tmp/jgd-wLA/clone/_site/ru/2023/12/26/defend-me-against-chatgpt.html" Saved 627 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/21/convince-me.html" Saved 1355 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/21/convince-me.html" Saved 630 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/15/retry-java-method-on-exception.html" Saved 730 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/15/retry-java-method-on-exception.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2017/07/18/sexual-harassment.html" Saved 1213 words to "/tmp/jgd-wLA/clone/_site/ru/2017/07/18/sexual-harassment.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2022/08/04/code-and-tests-different-pull-requests.html" Saved 1101 words to "/tmp/jgd-wLA/clone/_site/ru/2022/08/04/code-and-tests-different-pull-requests.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/15/decision-making-process.html" Saved 1251 words to "/tmp/jgd-wLA/clone/_site/ru/2023/08/15/decision-making-process.html" Saved 1596 words to "/tmp/jgd-wLA/clone/_site/en/2017/06/29/activists.html" Saved 824 words to "/tmp/jgd-wLA/clone/_site/zh/2017/06/29/activists.html" Saved 609 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/07/stop-chatting-start-coding.html" Saved 1007 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/07/stop-chatting-start-coding.html" Saved 640 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/11/mistakes-in-agile-manifesto.html" Saved 1254 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/11/mistakes-in-agile-manifesto.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2020/10/13/lack-of-problem.html" Saved 1052 words to "/tmp/jgd-wLA/clone/_site/ru/2020/10/13/lack-of-problem.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2017/12/05/data-access-object.html" Saved 1019 words to "/tmp/jgd-wLA/clone/_site/ru/2017/12/05/data-access-object.html" Saved 653 words to "/tmp/jgd-wLA/clone/_site/zh/2023/12/11/results-and-discussion.html" Saved 1117 words to "/tmp/jgd-wLA/clone/_site/ru/2023/12/11/results-and-discussion.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/16/educational-aspect-of-static-analysis.html" Saved 944 words to "/tmp/jgd-wLA/clone/_site/ru/2018/01/16/educational-aspect-of-static-analysis.html" Saved 732 words to "/tmp/jgd-wLA/clone/_site/zh/2020/03/03/prefixed-naming.html" Saved 1224 words to "/tmp/jgd-wLA/clone/_site/ru/2020/03/03/prefixed-naming.html" Saved 605 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/15/definition-of-done.html" Saved 842 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/15/definition-of-done.html" Saved 645 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/21/hourly-pay-modern-slavery.html" Saved 1125 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/21/hourly-pay-modern-slavery.html" Saved 656 words to "/tmp/jgd-wLA/clone/_site/zh/2017/03/28/solid.html" Saved 1271 words to "/tmp/jgd-wLA/clone/_site/ru/2017/03/28/solid.html" Saved 612 words to "/tmp/jgd-wLA/clone/_site/zh/2021/03/03/imposters-to-win.html" Saved 1136 words to "/tmp/jgd-wLA/clone/_site/ru/2021/03/03/imposters-to-win.html" Saved 630 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/10/windows-appveyor-maven.html" Saved 771 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/10/windows-appveyor-maven.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/21/avoid-software-outsourcing-disaster.html" Saved 2344 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/21/avoid-software-outsourcing-disaster.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2015/08/04/nine-steps-start-software-project.html" Saved 2271 words to "/tmp/jgd-wLA/clone/_site/ru/2015/08/04/nine-steps-start-software-project.html" Saved 653 words to "/tmp/jgd-wLA/clone/_site/zh/2018/11/27/you-can-do-better.html" Saved 1621 words to "/tmp/jgd-wLA/clone/_site/ru/2018/11/27/you-can-do-better.html" Saved 1773 words to "/tmp/jgd-wLA/clone/_site/en/2019/07/07/strong-opinions.html" Saved 821 words to "/tmp/jgd-wLA/clone/_site/zh/2019/07/07/strong-opinions.html" Saved 688 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/06/public-static-literals.html" Saved 1164 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/06/public-static-literals.html" Saved 1217 words to "/tmp/jgd-wLA/clone/_site/en/2017/07/27/sabotage-failed.html" Saved 816 words to "/tmp/jgd-wLA/clone/_site/zh/2017/07/27/sabotage-failed.html" Saved 599 words to "/tmp/jgd-wLA/clone/_site/zh/2016/05/24/who-is-project-manager.html" Saved 1412 words to "/tmp/jgd-wLA/clone/_site/ru/2016/05/24/who-is-project-manager.html" Saved 903 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/01/aop-aspectj-java-method-logging.html" Saved 1686 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/01/aop-aspectj-java-method-logging.html" Saved 682 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/25/xml-data-xsl-views-takes-framework.html" Saved 1202 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/25/xml-data-xsl-views-takes-framework.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/15/github-guidelines.html" Saved 1370 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/15/github-guidelines.html" Saved 608 words to "/tmp/jgd-wLA/clone/_site/zh/2016/04/08/revenue-may-kill-startup.html" Saved 1233 words to "/tmp/jgd-wLA/clone/_site/ru/2016/04/08/revenue-may-kill-startup.html" Saved 714 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/27/parsing-and-printing.html" Saved 1340 words to "/tmp/jgd-wLA/clone/_site/ru/2019/09/27/parsing-and-printing.html" Saved 1583 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/16/ukrainian-startups.html" Saved 822 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/16/ukrainian-startups.html" Saved 662 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/11/deployment-script-vs-rultor.html" Saved 1799 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/11/deployment-script-vs-rultor.html" Saved 605 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/21/incremental-billing.html" Saved 1277 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/21/incremental-billing.html" Saved 656 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/17/be-unhappy-to-be-happy.html" Saved 1256 words to "/tmp/jgd-wLA/clone/_site/ru/2019/09/17/be-unhappy-to-be-happy.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/15/software-outsourcing-survival-guide.html" Saved 1301 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/15/software-outsourcing-survival-guide.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2022/02/16/ai-coding.html" Saved 1290 words to "/tmp/jgd-wLA/clone/_site/ru/2022/02/16/ai-coding.html" Saved 614 words to "/tmp/jgd-wLA/clone/_site/zh/2021/06/01/tips-for-recruiters.html" Saved 2047 words to "/tmp/jgd-wLA/clone/_site/ru/2021/06/01/tips-for-recruiters.html" Saved 616 words to "/tmp/jgd-wLA/clone/_site/zh/2017/12/12/alan-kay-was-wrong.html" Saved 959 words to "/tmp/jgd-wLA/clone/_site/ru/2017/12/12/alan-kay-was-wrong.html" Saved 661 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/23/avoid-java-static-logger.html" Saved 795 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/23/avoid-java-static-logger.html" Saved 1439 words to "/tmp/jgd-wLA/clone/_site/en/2019/01/28/the-wall.html" Saved 829 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/28/the-wall.html" Saved 660 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/13/fluent-interfaces.html" Saved 1363 words to "/tmp/jgd-wLA/clone/_site/ru/2018/03/13/fluent-interfaces.html" Saved 632 words to "/tmp/jgd-wLA/clone/_site/zh/2018/08/14/seventy-percent.html" Saved 1340 words to "/tmp/jgd-wLA/clone/_site/ru/2018/08/14/seventy-percent.html" Saved 661 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/09/xembly-intro.html" Saved 1233 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/09/xembly-intro.html" Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/08/deadly-sins-software-project.html" Saved 1941 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/08/deadly-sins-software-project.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2015/08/18/multiple-return-statements-in-oop.html" Saved 899 words to "/tmp/jgd-wLA/clone/_site/ru/2015/08/18/multiple-return-statements-in-oop.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/18/independent-technical-reviews.html" Saved 1461 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/18/independent-technical-reviews.html" Saved 654 words to "/tmp/jgd-wLA/clone/_site/zh/2016/05/03/test-methods-must-share-nothing.html" Saved 1225 words to "/tmp/jgd-wLA/clone/_site/ru/2016/05/03/test-methods-must-share-nothing.html" Saved 699 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/31/decorating-envelopes.html" Saved 872 words to "/tmp/jgd-wLA/clone/_site/ru/2017/01/31/decorating-envelopes.html" Saved 753 words to "/tmp/jgd-wLA/clone/_site/zh/2022/08/10/xsline-immutable-pipeline.html" Saved 1185 words to "/tmp/jgd-wLA/clone/_site/ru/2022/08/10/xsline-immutable-pipeline.html" Saved 705 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/20/interrupted-exception.html" Saved 1436 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/20/interrupted-exception.html" Saved 875 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/12/how-to-move-faster.html" Saved 1597 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/12/how-to-move-faster.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2018/10/09/can-you-control-us.html" Saved 1177 words to "/tmp/jgd-wLA/clone/_site/ru/2018/10/09/can-you-control-us.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2023/12/17/how-to-review-research-paper.html" Saved 1122 words to "/tmp/jgd-wLA/clone/_site/ru/2023/12/17/how-to-review-research-paper.html" Saved 907 words to "/tmp/jgd-wLA/clone/_site/zh/2024/06/23/medals-to-win.html" Saved 1310 words to "/tmp/jgd-wLA/clone/_site/ru/2024/06/23/medals-to-win.html" Saved 653 words to "/tmp/jgd-wLA/clone/_site/zh/2017/12/19/srp-is-hoax.html" Saved 1130 words to "/tmp/jgd-wLA/clone/_site/ru/2017/12/19/srp-is-hoax.html" Saved 1305 words to "/tmp/jgd-wLA/clone/_site/en/2018/03/25/why-gas.html" Saved 851 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/25/why-gas.html" Saved 1166 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/12/will-i-go-to-war.html" Saved 828 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/12/will-i-go-to-war.html" Saved 679 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/28/checked-vs-unchecked-exceptions.html" Saved 1793 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/28/checked-vs-unchecked-exceptions.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/01/continuous-integration-maturity.html" Saved 992 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/01/continuous-integration-maturity.html" Saved 684 words to "/tmp/jgd-wLA/clone/_site/zh/2020/05/19/veil-objects.html" Saved 1070 words to "/tmp/jgd-wLA/clone/_site/ru/2020/05/19/veil-objects.html" Saved 1242 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/02/ukraine-budget-2017.html" Saved 836 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/02/ukraine-budget-2017.html" Saved 1300 words to "/tmp/jgd-wLA/clone/_site/en/2018/01/10/dalles-plan.html" Saved 843 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/10/dalles-plan.html" Saved 1446 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/23/consciousness-and-revolution.html" Saved 852 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/23/consciousness-and-revolution.html" Saved 1304 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/30/lifetime-imprisonment-for-separatism.html" Saved 830 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/30/lifetime-imprisonment-for-separatism.html" Saved 675 words to "/tmp/jgd-wLA/clone/_site/zh/2019/05/07/sibit-bitcoin-command-line-client.html" Saved 1597 words to "/tmp/jgd-wLA/clone/_site/ru/2019/05/07/sibit-bitcoin-command-line-client.html" Saved 724 words to "/tmp/jgd-wLA/clone/_site/zh/2023/01/19/layout-of-tests.html" Saved 2104 words to "/tmp/jgd-wLA/clone/_site/ru/2023/01/19/layout-of-tests.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2019/05/21/dont-improvise.html" Saved 1452 words to "/tmp/jgd-wLA/clone/_site/ru/2019/05/21/dont-improvise.html" Saved 1498 words to "/tmp/jgd-wLA/clone/_site/en/2020/06/12/protesters.html" Saved 832 words to "/tmp/jgd-wLA/clone/_site/zh/2020/06/12/protesters.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2016/04/19/object-must-not-be-configurable.html" Saved 1200 words to "/tmp/jgd-wLA/clone/_site/ru/2016/04/19/object-must-not-be-configurable.html" Saved 679 words to "/tmp/jgd-wLA/clone/_site/zh/2018/09/18/fear-of-coupling.html" Saved 1466 words to "/tmp/jgd-wLA/clone/_site/ru/2018/09/18/fear-of-coupling.html" Saved 1539 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/22/what-causes-terrorism.html" Saved 856 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/22/what-causes-terrorism.html" Saved 615 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/06/introduction.html" Saved 705 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/06/introduction.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/14/who-is-object.html" Saved 1394 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/14/who-is-object.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2017/12/26/software-quality-formula.html" Saved 993 words to "/tmp/jgd-wLA/clone/_site/ru/2017/12/26/software-quality-formula.html" Saved 899 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/06/movies-for-thanasis.html" Saved 1008 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/06/movies-for-thanasis.html" Saved 707 words to "/tmp/jgd-wLA/clone/_site/zh/2023/09/29/how-to-write-related-work-section.html" Saved 1095 words to "/tmp/jgd-wLA/clone/_site/ru/2023/09/29/how-to-write-related-work-section.html" Saved 622 words to "/tmp/jgd-wLA/clone/_site/zh/2015/11/21/ringelmann-effect-vs-agile.html" Saved 967 words to "/tmp/jgd-wLA/clone/_site/ru/2015/11/21/ringelmann-effect-vs-agile.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/15/what-if-architect-is-wrong.html" Saved 1357 words to "/tmp/jgd-wLA/clone/_site/ru/2019/01/15/what-if-architect-is-wrong.html" Saved 610 words to "/tmp/jgd-wLA/clone/_site/zh/2019/12/24/altruism-kills.html" Saved 1364 words to "/tmp/jgd-wLA/clone/_site/ru/2019/12/24/altruism-kills.html" Saved 637 words to "/tmp/jgd-wLA/clone/_site/zh/2019/12/03/testing-in-code-review.html" Saved 1433 words to "/tmp/jgd-wLA/clone/_site/ru/2019/12/03/testing-in-code-review.html" Saved 1254 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/12/putin-is-power.html" Saved 815 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/12/putin-is-power.html" Saved 678 words to "/tmp/jgd-wLA/clone/_site/zh/2017/08/22/to-be-nice-or-not.html" Saved 1515 words to "/tmp/jgd-wLA/clone/_site/ru/2017/08/22/to-be-nice-or-not.html" Saved 662 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/29/docker-in-rultor.html" Saved 1210 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/29/docker-in-rultor.html" Saved 605 words to "/tmp/jgd-wLA/clone/_site/zh/2016/09/20/oop-without-classes.html" Saved 712 words to "/tmp/jgd-wLA/clone/_site/ru/2016/09/20/oop-without-classes.html" Saved 1410 words to "/tmp/jgd-wLA/clone/_site/en/2023/08/27/immigration-by-war.html" Saved 831 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/27/immigration-by-war.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/05/distributed-teams-are-higher-quality.html" Saved 1367 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/05/distributed-teams-are-higher-quality.html" Saved 861 words to "/tmp/jgd-wLA/clone/_site/zh/2018/10/01/remote-work.html" Saved 1105 words to "/tmp/jgd-wLA/clone/_site/ru/2018/10/01/remote-work.html" Saved 691 words to "/tmp/jgd-wLA/clone/_site/zh/2016/02/03/design-patterns-and-anti-patterns.html" Saved 1212 words to "/tmp/jgd-wLA/clone/_site/ru/2016/02/03/design-patterns-and-anti-patterns.html" Saved 775 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/13/why-null-is-bad.html" Saved 1605 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/13/why-null-is-bad.html" Saved 1508 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/26/what-would-you-ask-putin.html" Saved 882 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/26/what-would-you-ask-putin.html" Saved 1592 words to "/tmp/jgd-wLA/clone/_site/en/2017/11/22/opposition.html" Saved 816 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/22/opposition.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2022/03/29/bugs-occam-razor.html" Saved 906 words to "/tmp/jgd-wLA/clone/_site/ru/2022/03/29/bugs-occam-razor.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/10/how-to-motivate-kids-to-code.html" Saved 1317 words to "/tmp/jgd-wLA/clone/_site/ru/2019/09/10/how-to-motivate-kids-to-code.html" Saved 642 words to "/tmp/jgd-wLA/clone/_site/zh/2016/01/26/defensive-programming.html" Saved 969 words to "/tmp/jgd-wLA/clone/_site/ru/2016/01/26/defensive-programming.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/07/ctors-must-be-code-free.html" Saved 1179 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/07/ctors-must-be-code-free.html" Saved 673 words to "/tmp/jgd-wLA/clone/_site/zh/2017/07/11/how-to-redesign-equals.html" Saved 981 words to "/tmp/jgd-wLA/clone/_site/ru/2017/07/11/how-to-redesign-equals.html" Saved 643 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/22/immutable-objects-not-dumb.html" Saved 1155 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/22/immutable-objects-not-dumb.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/23/paired-brackets-notation.html" Saved 791 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/23/paired-brackets-notation.html" Saved 1808 words to "/tmp/jgd-wLA/clone/_site/en/2023/09/17/turbulence.html" Saved 865 words to "/tmp/jgd-wLA/clone/_site/zh/2023/09/17/turbulence.html" Saved 880 words to "/tmp/jgd-wLA/clone/_site/zh/2018/09/30/award-2019.html" Saved 1219 words to "/tmp/jgd-wLA/clone/_site/ru/2018/09/30/award-2019.html" Saved 721 words to "/tmp/jgd-wLA/clone/_site/zh/2015/04/02/class-casting-is-anti-pattern.html" Saved 1201 words to "/tmp/jgd-wLA/clone/_site/ru/2015/04/02/class-casting-is-anti-pattern.html" Saved 1022 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/15/onishenko-our-hero.html" Saved 811 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/15/onishenko-our-hero.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2015/04/13/tacit-css-framework-for-dummies.html" Saved 924 words to "/tmp/jgd-wLA/clone/_site/ru/2015/04/13/tacit-css-framework-for-dummies.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2018/09/12/clear-code.html" Saved 1020 words to "/tmp/jgd-wLA/clone/_site/ru/2018/09/12/clear-code.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2018/02/06/where-to-find-more-bugs.html" Saved 954 words to "/tmp/jgd-wLA/clone/_site/ru/2018/02/06/where-to-find-more-bugs.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2023/11/22/avoid-line-breaks-inside-paragrap.html" Saved 783 words to "/tmp/jgd-wLA/clone/_site/ru/2023/11/22/avoid-line-breaks-inside-paragrap.html" Saved 689 words to "/tmp/jgd-wLA/clone/_site/zh/2020/11/10/typing-without-types.html" Saved 1083 words to "/tmp/jgd-wLA/clone/_site/ru/2020/11/10/typing-without-types.html" Saved 645 words to "/tmp/jgd-wLA/clone/_site/zh/2022/08/24/research-paper-template.html" Saved 1295 words to "/tmp/jgd-wLA/clone/_site/ru/2022/08/24/research-paper-template.html" Saved 635 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/29/w3c-java-validators.html" Saved 785 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/29/w3c-java-validators.html" Saved 615 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/15/wring-dispatcher-github-notifications.html" Saved 919 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/15/wring-dispatcher-github-notifications.html" Saved 616 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/10/how-to-teach-customers.html" Saved 985 words to "/tmp/jgd-wLA/clone/_site/ru/2017/01/10/how-to-teach-customers.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2018/11/06/ruby-threads.html" Saved 1151 words to "/tmp/jgd-wLA/clone/_site/ru/2018/11/06/ruby-threads.html" Saved 696 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/11/jcabi-http-intro.html" Saved 1081 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/11/jcabi-http-intro.html" Saved 657 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/21/casperjs-with-maven.html" Saved 1109 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/21/casperjs-with-maven.html" Saved 606 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/29/ai-for-software-engineering.html" Saved 1461 words to "/tmp/jgd-wLA/clone/_site/ru/2023/08/29/ai-for-software-engineering.html" Saved 830 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/03/java9.html" Saved 1640 words to "/tmp/jgd-wLA/clone/_site/ru/2017/10/03/java9.html" Saved 718 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/21/s3-http-basic-auth.html" Saved 1395 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/21/s3-http-basic-auth.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2019/06/26/syncem.html" Saved 843 words to "/tmp/jgd-wLA/clone/_site/ru/2019/06/26/syncem.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2014/11/24/principles-of-bug-tracking.html" Saved 2046 words to "/tmp/jgd-wLA/clone/_site/ru/2014/11/24/principles-of-bug-tracking.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/06/data-transfer-object.html" Saved 1004 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/06/data-transfer-object.html" Saved 622 words to "/tmp/jgd-wLA/clone/_site/zh/2017/09/26/threecopies-server-data-backup.html" Saved 1145 words to "/tmp/jgd-wLA/clone/_site/ru/2017/09/26/threecopies-server-data-backup.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2020/12/29/metric-for-emotions.html" Saved 1390 words to "/tmp/jgd-wLA/clone/_site/ru/2020/12/29/metric-for-emotions.html" Saved 838 words to "/tmp/jgd-wLA/clone/_site/zh/2022/06/05/reflection-means-hidden-coupling.html" Saved 2429 words to "/tmp/jgd-wLA/clone/_site/ru/2022/06/05/reflection-means-hidden-coupling.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2017/08/08/raii-in-java.html" Saved 1081 words to "/tmp/jgd-wLA/clone/_site/ru/2017/08/08/raii-in-java.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/05/pdd-in-action.html" Saved 926 words to "/tmp/jgd-wLA/clone/_site/ru/2017/04/05/pdd-in-action.html" Saved 601 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/01/redundant-variables-are-evil.html" Saved 920 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/01/redundant-variables-are-evil.html" Saved 1747 words to "/tmp/jgd-wLA/clone/_site/en/2019/01/13/country-as-a-service.html" Saved 842 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/13/country-as-a-service.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2022/06/14/principle-of-one.html" Saved 865 words to "/tmp/jgd-wLA/clone/_site/ru/2022/06/14/principle-of-one.html" Saved 702 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/14/static-factory-methods.html" Saved 1407 words to "/tmp/jgd-wLA/clone/_site/ru/2017/11/14/static-factory-methods.html" Saved 691 words to "/tmp/jgd-wLA/clone/_site/zh/2017/09/12/evil-object-name-suffix-client.html" Saved 1222 words to "/tmp/jgd-wLA/clone/_site/ru/2017/09/12/evil-object-name-suffix-client.html" Saved 627 words to "/tmp/jgd-wLA/clone/_site/zh/2017/08/29/xcop.html" Saved 862 words to "/tmp/jgd-wLA/clone/_site/ru/2017/08/29/xcop.html" Saved 685 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/25/deploy-to-cloudbees.html" Saved 1049 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/25/deploy-to-cloudbees.html" Saved 1350 words to "/tmp/jgd-wLA/clone/_site/en/2017/04/24/slaves-of-the-law.html" Saved 832 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/24/slaves-of-the-law.html" Saved 685 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/20/utility-classes-vs-functional-programming.html" Saved 1766 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/20/utility-classes-vs-functional-programming.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/23/unlimited-number-of-bugs.html" Saved 993 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/23/unlimited-number-of-bugs.html" Saved 640 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/23/sociotech-skills.html" Saved 1171 words to "/tmp/jgd-wLA/clone/_site/ru/2018/01/23/sociotech-skills.html" Saved 1333 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/08/lustration-in-ukraine.html" Saved 821 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/08/lustration-in-ukraine.html" Saved 609 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/17/how-xdsd-is-different.html" Saved 1480 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/17/how-xdsd-is-different.html" Saved 674 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/10/software-project-roles.html" Saved 901 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/10/software-project-roles.html" Saved 620 words to "/tmp/jgd-wLA/clone/_site/zh/2020/11/03/daily-reports.html" Saved 1439 words to "/tmp/jgd-wLA/clone/_site/ru/2020/11/03/daily-reports.html" Saved 643 words to "/tmp/jgd-wLA/clone/_site/zh/2018/12/25/speaker-cheat-sheet.html" Saved 1544 words to "/tmp/jgd-wLA/clone/_site/ru/2018/12/25/speaker-cheat-sheet.html" Saved 705 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/27/how-to-test-thread-safety.html" Saved 1231 words to "/tmp/jgd-wLA/clone/_site/ru/2018/03/27/how-to-test-thread-safety.html" Saved 647 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/02/operator-new-is-toxic.html" Saved 1079 words to "/tmp/jgd-wLA/clone/_site/ru/2018/01/02/operator-new-is-toxic.html" Saved 1065 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/19/are-you-ashamed-of-voting.html" Saved 829 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/19/are-you-ashamed-of-voting.html" Saved 677 words to "/tmp/jgd-wLA/clone/_site/zh/2017/03/24/tdd-that-works.html" Saved 1538 words to "/tmp/jgd-wLA/clone/_site/ru/2017/03/24/tdd-that-works.html" Saved 636 words to "/tmp/jgd-wLA/clone/_site/zh/2019/11/19/how-much-cohesion-is-enough.html" Saved 997 words to "/tmp/jgd-wLA/clone/_site/ru/2019/11/19/how-much-cohesion-is-enough.html" Saved 680 words to "/tmp/jgd-wLA/clone/_site/zh/2021/12/01/teaching.html" Saved 1867 words to "/tmp/jgd-wLA/clone/_site/ru/2021/12/01/teaching.html" Saved 610 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/04/synchronization-between-nodes.html" Saved 1077 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/04/synchronization-between-nodes.html" Saved 661 words to "/tmp/jgd-wLA/clone/_site/zh/2022/07/05/safety-net.html" Saved 1195 words to "/tmp/jgd-wLA/clone/_site/ru/2022/07/05/safety-net.html" Saved 729 words to "/tmp/jgd-wLA/clone/_site/zh/2018/09/05/monolithic-repositories.html" Saved 1839 words to "/tmp/jgd-wLA/clone/_site/ru/2018/09/05/monolithic-repositories.html" Saved 720 words to "/tmp/jgd-wLA/clone/_site/zh/2019/04/17/nutch-from-java.html" Saved 1076 words to "/tmp/jgd-wLA/clone/_site/ru/2019/04/17/nutch-from-java.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2016/01/19/how-expensive-is-outsourcing.html" Saved 1346 words to "/tmp/jgd-wLA/clone/_site/ru/2016/01/19/how-expensive-is-outsourcing.html" Saved 1289 words to "/tmp/jgd-wLA/clone/_site/zh/2017/07/25/my-favorite-websites.html" Saved 1324 words to "/tmp/jgd-wLA/clone/_site/ru/2017/07/25/my-favorite-websites.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/20/can-objects-be-friends.html" Saved 940 words to "/tmp/jgd-wLA/clone/_site/ru/2016/12/20/can-objects-be-friends.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/10/testing-exit-criteria.html" Saved 1139 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/10/testing-exit-criteria.html" Saved 711 words to "/tmp/jgd-wLA/clone/_site/zh/2019/02/03/cloudrepo.html" Saved 1251 words to "/tmp/jgd-wLA/clone/_site/ru/2019/02/03/cloudrepo.html" Saved 672 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/09/objects-end-with-er.html" Saved 1184 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/09/objects-end-with-er.html" Saved 615 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/18/no-help-via-email.html" Saved 852 words to "/tmp/jgd-wLA/clone/_site/ru/2017/04/18/no-help-via-email.html" Saved 660 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/22/valid-reasons-to-reject-bug-fix.html" Saved 1323 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/22/valid-reasons-to-reject-bug-fix.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/04/how-to-protect-business-idea.html" Saved 1923 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/04/how-to-protect-business-idea.html" Saved 650 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/24/jekyll-github-deploy.html" Saved 769 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/24/jekyll-github-deploy.html" Saved 632 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/09/micro-budgeting.html" Saved 1343 words to "/tmp/jgd-wLA/clone/_site/ru/2018/01/09/micro-budgeting.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/22/micromanagement.html" Saved 1058 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/22/micromanagement.html" Saved 681 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/29/dependency-hell.html" Saved 1219 words to "/tmp/jgd-wLA/clone/_site/ru/2019/01/29/dependency-hell.html" Saved 1626 words to "/tmp/jgd-wLA/clone/_site/en/2019/02/16/calibrated-democracy.html" Saved 839 words to "/tmp/jgd-wLA/clone/_site/zh/2019/02/16/calibrated-democracy.html" Saved 615 words to "/tmp/jgd-wLA/clone/_site/zh/2015/08/25/fail-fast.html" Saved 1041 words to "/tmp/jgd-wLA/clone/_site/ru/2015/08/25/fail-fast.html" Saved 607 words to "/tmp/jgd-wLA/clone/_site/zh/2019/11/05/revolutionary-evolution.html" Saved 1481 words to "/tmp/jgd-wLA/clone/_site/ru/2019/11/05/revolutionary-evolution.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/16/monikers.html" Saved 804 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/16/monikers.html" Saved 648 words to "/tmp/jgd-wLA/clone/_site/zh/2018/08/22/builders-and-manipulators.html" Saved 1270 words to "/tmp/jgd-wLA/clone/_site/ru/2018/08/22/builders-and-manipulators.html" Saved 659 words to "/tmp/jgd-wLA/clone/_site/zh/2019/02/12/silicon-valley-benefits.html" Saved 2052 words to "/tmp/jgd-wLA/clone/_site/ru/2019/02/12/silicon-valley-benefits.html" Saved 683 words to "/tmp/jgd-wLA/clone/_site/zh/2015/12/08/temporal-coupling-between-method-calls.html" Saved 1073 words to "/tmp/jgd-wLA/clone/_site/ru/2015/12/08/temporal-coupling-between-method-calls.html" Saved 913 words to "/tmp/jgd-wLA/clone/_site/zh/2024/07/07/checking-object-existence.html" Saved 1396 words to "/tmp/jgd-wLA/clone/_site/ru/2024/07/07/checking-object-existence.html" Saved 603 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/01/how-we-interview-programmers.html" Saved 1293 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/01/how-we-interview-programmers.html" Saved 673 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/24/rultor-automated-merging.html" Saved 959 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/24/rultor-automated-merging.html" Saved 1081 words to "/tmp/jgd-wLA/clone/_site/zh/2019/11/03/award-2020.html" Saved 1421 words to "/tmp/jgd-wLA/clone/_site/ru/2019/11/03/award-2020.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/12/puzzle-driven-development-by-roles.html" Saved 1976 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/12/puzzle-driven-development-by-roles.html" Saved 717 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/10/streams-vs-decorators.html" Saved 1372 words to "/tmp/jgd-wLA/clone/_site/ru/2017/10/10/streams-vs-decorators.html" Saved 613 words to "/tmp/jgd-wLA/clone/_site/zh/2016/01/12/good-programmers-dont-work-for-equity.html" Saved 836 words to "/tmp/jgd-wLA/clone/_site/ru/2016/01/12/good-programmers-dont-work-for-equity.html" Saved 679 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/12/compound-name-is-code-smell.html" Saved 984 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/12/compound-name-is-code-smell.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2016/04/26/why-inputstream-design-is-wrong.html" Saved 997 words to "/tmp/jgd-wLA/clone/_site/ru/2016/04/26/why-inputstream-design-is-wrong.html" Saved 741 words to "/tmp/jgd-wLA/clone/_site/zh/2020/11/24/objects-without-methods.html" Saved 1395 words to "/tmp/jgd-wLA/clone/_site/ru/2020/11/24/objects-without-methods.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/24/java-xml-parsing-and-traversing.html" Saved 800 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/24/java-xml-parsing-and-traversing.html" Saved 618 words to "/tmp/jgd-wLA/clone/_site/zh/2020/11/15/award-2021.html" Saved 886 words to "/tmp/jgd-wLA/clone/_site/ru/2020/11/15/award-2021.html" Saved 627 words to "/tmp/jgd-wLA/clone/_site/zh/2021/09/09/simba.html" Saved 1352 words to "/tmp/jgd-wLA/clone/_site/ru/2021/09/09/simba.html" Saved 659 words to "/tmp/jgd-wLA/clone/_site/zh/2018/07/24/bugs-or-pull-requests.html" Saved 844 words to "/tmp/jgd-wLA/clone/_site/ru/2018/07/24/bugs-or-pull-requests.html" Saved 2364 words to "/tmp/jgd-wLA/clone/_site/en/2024/04/02/kulikovo-pole.html" Saved 878 words to "/tmp/jgd-wLA/clone/_site/zh/2024/04/02/kulikovo-pole.html" Saved 618 words to "/tmp/jgd-wLA/clone/_site/zh/2016/06/03/conference-mistakes.html" Saved 1399 words to "/tmp/jgd-wLA/clone/_site/ru/2016/06/03/conference-mistakes.html" Saved 1743 words to "/tmp/jgd-wLA/clone/_site/en/2019/09/28/what-is-the-point.html" Saved 885 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/28/what-is-the-point.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2017/08/15/bitcoin-pyramid.html" Saved 1167 words to "/tmp/jgd-wLA/clone/_site/ru/2017/08/15/bitcoin-pyramid.html" Saved 732 words to "/tmp/jgd-wLA/clone/_site/zh/2021/04/14/how-we-organized-iccq.html" Saved 2031 words to "/tmp/jgd-wLA/clone/_site/ru/2021/04/14/how-we-organized-iccq.html" Saved 965 words to "/tmp/jgd-wLA/clone/_site/zh/2021/10/21/objectionary.html" Saved 2464 words to "/tmp/jgd-wLA/clone/_site/ru/2021/10/21/objectionary.html" Saved 680 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/03/how-to-read-manifest-mf.html" Saved 943 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/03/how-to-read-manifest-mf.html" Saved 1524 words to "/tmp/jgd-wLA/clone/_site/en/2017/02/06/how-to-eliminate-corruption.html" Saved 823 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/06/how-to-eliminate-corruption.html" Saved 660 words to "/tmp/jgd-wLA/clone/_site/zh/2020/10/27/distance-of-coupling.html" Saved 1371 words to "/tmp/jgd-wLA/clone/_site/ru/2020/10/27/distance-of-coupling.html" Saved 893 words to "/tmp/jgd-wLA/clone/_site/zh/2024/06/09/patent-claim.html" Saved 1977 words to "/tmp/jgd-wLA/clone/_site/ru/2024/06/09/patent-claim.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/29/mayonnaise.html" Saved 1728 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/29/mayonnaise.html" Saved 1638 words to "/tmp/jgd-wLA/clone/_site/en/2017/04/18/dnepr-corruption-item.html" Saved 835 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/18/dnepr-corruption-item.html" Saved 657 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/25/unit-test-scaffolding.html" Saved 1070 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/25/unit-test-scaffolding.html" Saved 1555 words to "/tmp/jgd-wLA/clone/_site/en/2017/10/24/motherland.html" Saved 840 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/24/motherland.html" Saved 1640 words to "/tmp/jgd-wLA/clone/_site/en/2019/09/15/revolution-bottom-up.html" Saved 825 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/15/revolution-bottom-up.html" Saved 2160 words to "/tmp/jgd-wLA/clone/_site/en/2019/12/31/testosterone.html" Saved 824 words to "/tmp/jgd-wLA/clone/_site/zh/2019/12/31/testosterone.html" Saved 678 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/28/xml-xpath-hamcrest-matchers.html" Saved 882 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/28/xml-xpath-hamcrest-matchers.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2016/01/05/how-to-punish-employees.html" Saved 1456 words to "/tmp/jgd-wLA/clone/_site/ru/2016/01/05/how-to-punish-employees.html" Saved 651 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/19/logging-without-static-logger.html" Saved 1134 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/19/logging-without-static-logger.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/13/mvc-vs-oop.html" Saved 973 words to "/tmp/jgd-wLA/clone/_site/ru/2016/12/13/mvc-vs-oop.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2019/04/02/software-project-review-checklist.html" Saved 1026 words to "/tmp/jgd-wLA/clone/_site/ru/2019/04/02/software-project-review-checklist.html" Saved 1701 words to "/tmp/jgd-wLA/clone/_site/en/2020/11/21/svoboda-and-conflicts.html" Saved 836 words to "/tmp/jgd-wLA/clone/_site/zh/2020/11/21/svoboda-and-conflicts.html" Saved 625 words to "/tmp/jgd-wLA/clone/_site/zh/2014/11/14/hits-of-code.html" Saved 1406 words to "/tmp/jgd-wLA/clone/_site/ru/2014/11/14/hits-of-code.html" Saved 739 words to "/tmp/jgd-wLA/clone/_site/zh/2018/05/08/open-source-attributes.html" Saved 2048 words to "/tmp/jgd-wLA/clone/_site/ru/2018/05/08/open-source-attributes.html" Saved 613 words to "/tmp/jgd-wLA/clone/_site/zh/2016/06/21/how-to-hire-programmer.html" Saved 1518 words to "/tmp/jgd-wLA/clone/_site/ru/2016/06/21/how-to-hire-programmer.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/29/how-much-do-you-cost.html" Saved 2905 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/29/how-much-do-you-cost.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2019/04/23/elegant-readme.html" Saved 1855 words to "/tmp/jgd-wLA/clone/_site/ru/2019/04/23/elegant-readme.html" Saved 607 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/03/how-much-you-love-conflicts.html" Saved 1726 words to "/tmp/jgd-wLA/clone/_site/ru/2017/01/03/how-much-you-love-conflicts.html" Saved 651 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/10/inversion-of-control.html" Saved 858 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/10/inversion-of-control.html" Saved 1268 words to "/tmp/jgd-wLA/clone/_site/en/2017/01/05/justice-against-corruption.html" Saved 822 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/05/justice-against-corruption.html" Saved 758 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/09/immutable-object-state-and-behavior.html" Saved 2097 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/09/immutable-object-state-and-behavior.html" Saved 635 words to "/tmp/jgd-wLA/clone/_site/zh/2016/02/09/are-you-still-debugging.html" Saved 1226 words to "/tmp/jgd-wLA/clone/_site/ru/2016/02/09/are-you-still-debugging.html" Saved 615 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/12/who-is-software-architect.html" Saved 1123 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/12/who-is-software-architect.html" Saved 604 words to "/tmp/jgd-wLA/clone/_site/zh/2016/05/10/keynote-clowns.html" Saved 1155 words to "/tmp/jgd-wLA/clone/_site/ru/2016/05/10/keynote-clowns.html" Saved 640 words to "/tmp/jgd-wLA/clone/_site/zh/2017/06/06/gluten-free-management.html" Saved 1364 words to "/tmp/jgd-wLA/clone/_site/ru/2017/06/06/gluten-free-management.html" Saved 687 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/17/lazy-loading-caching-sticky-cactoos.html" Saved 1153 words to "/tmp/jgd-wLA/clone/_site/ru/2017/10/17/lazy-loading-caching-sticky-cactoos.html" Saved 597 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/13/meetings-are-legalized-robbery.html" Saved 2392 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/13/meetings-are-legalized-robbery.html" Saved 665 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/06/phandom.html" Saved 1005 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/06/phandom.html" Saved 650 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/03/cacheable-java-annotation.html" Saved 882 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/03/cacheable-java-annotation.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/22/art-of-software-testing.html" Saved 1492 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/22/art-of-software-testing.html" Saved 857 words to "/tmp/jgd-wLA/clone/_site/zh/2018/11/23/freelance-vs-outsourcing.html" Saved 1160 words to "/tmp/jgd-wLA/clone/_site/ru/2018/11/23/freelance-vs-outsourcing.html" Saved 843 words to "/tmp/jgd-wLA/clone/_site/zh/2018/08/27/penalty-for-refusal.html" Saved 1146 words to "/tmp/jgd-wLA/clone/_site/ru/2018/08/27/penalty-for-refusal.html" Saved 831 words to "/tmp/jgd-wLA/clone/_site/zh/2017/06/13/dynamodb-rack-maven.html" Saved 1357 words to "/tmp/jgd-wLA/clone/_site/ru/2017/06/13/dynamodb-rack-maven.html" Saved 657 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/29/simple-diagrams.html" Saved 1426 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/29/simple-diagrams.html" Saved 686 words to "/tmp/jgd-wLA/clone/_site/zh/2015/09/07/maven-repository-amazon-s3.html" Saved 1007 words to "/tmp/jgd-wLA/clone/_site/ru/2015/09/07/maven-repository-amazon-s3.html" Saved 687 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/26/publish-to-rubygems.html" Saved 938 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/26/publish-to-rubygems.html" Saved 749 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/31/travis-and-rultor.html" Saved 1392 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/31/travis-and-rultor.html" Saved 671 words to "/tmp/jgd-wLA/clone/_site/zh/2017/03/07/traits-and-mixins.html" Saved 1158 words to "/tmp/jgd-wLA/clone/_site/ru/2017/03/07/traits-and-mixins.html" Saved 733 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/12/data-and-maintainability.html" Saved 1901 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/12/data-and-maintainability.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2016/09/27/command-control-innovate.html" Saved 1158 words to "/tmp/jgd-wLA/clone/_site/ru/2016/09/27/command-control-innovate.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/01/vertical-horizontal-decorating.html" Saved 801 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/01/vertical-horizontal-decorating.html" Saved 654 words to "/tmp/jgd-wLA/clone/_site/zh/2018/10/30/mailanes.html" Saved 1150 words to "/tmp/jgd-wLA/clone/_site/ru/2018/10/30/mailanes.html" Saved 1407 words to "/tmp/jgd-wLA/clone/_site/en/2017/03/02/history-of-separatism.html" Saved 830 words to "/tmp/jgd-wLA/clone/_site/zh/2017/03/02/history-of-separatism.html" Saved 637 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/01/method-overloading.html" Saved 1139 words to "/tmp/jgd-wLA/clone/_site/ru/2023/08/01/method-overloading.html" Saved 655 words to "/tmp/jgd-wLA/clone/_site/zh/2015/12/01/rethrow-exceptions.html" Saved 1088 words to "/tmp/jgd-wLA/clone/_site/ru/2015/12/01/rethrow-exceptions.html" Saved 1847 words to "/tmp/jgd-wLA/clone/_site/en/2017/02/20/nationalism-of-the-future.html" Saved 833 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/20/nationalism-of-the-future.html" Saved 651 words to "/tmp/jgd-wLA/clone/_site/zh/2018/07/03/global-variables.html" Saved 1006 words to "/tmp/jgd-wLA/clone/_site/ru/2018/07/03/global-variables.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/29/custom-lexer-in-jekyll.html" Saved 660 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/29/custom-lexer-in-jekyll.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/07/private-method-is-new-class.html" Saved 899 words to "/tmp/jgd-wLA/clone/_site/ru/2017/02/07/private-method-is-new-class.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/21/trust-pay-lose.html" Saved 996 words to "/tmp/jgd-wLA/clone/_site/ru/2017/11/21/trust-pay-lose.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/02/xsl-transformations-in-java.html" Saved 932 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/02/xsl-transformations-in-java.html" Saved 681 words to "/tmp/jgd-wLA/clone/_site/zh/2019/12/31/talented-programmers.html" Saved 1363 words to "/tmp/jgd-wLA/clone/_site/ru/2019/12/31/talented-programmers.html" Saved 751 words to "/tmp/jgd-wLA/clone/_site/zh/2020/02/19/fat-skinny-design.html" Saved 1342 words to "/tmp/jgd-wLA/clone/_site/ru/2020/02/19/fat-skinny-design.html" Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2019/07/30/joy-of-programming.html" Saved 1655 words to "/tmp/jgd-wLA/clone/_site/ru/2019/07/30/joy-of-programming.html" Saved 643 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/15/how-to-cut-corners.html" Saved 2410 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/15/how-to-cut-corners.html" Saved 608 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/02/team-morale-myths-and-reality.html" Saved 1308 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/02/team-morale-myths-and-reality.html" Saved 649 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/22/remote-programming-interview.html" Saved 791 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/22/remote-programming-interview.html" Saved 642 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/21/if-then-throw-else.html" Saved 835 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/21/if-then-throw-else.html" Saved 716 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/01/orm-offensive-anti-pattern.html" Saved 2232 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/01/orm-offensive-anti-pattern.html" Saved 669 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/07/five-new-java-features.html" Saved 1244 words to "/tmp/jgd-wLA/clone/_site/ru/2017/11/07/five-new-java-features.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2018/11/13/bigotry.html" Saved 1394 words to "/tmp/jgd-wLA/clone/_site/ru/2018/11/13/bigotry.html" Saved 656 words to "/tmp/jgd-wLA/clone/_site/zh/2016/06/27/singletons-must-die.html" Saved 1016 words to "/tmp/jgd-wLA/clone/_site/ru/2016/06/27/singletons-must-die.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/08/continuous-integration-is-dead.html" Saved 1373 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/08/continuous-integration-is-dead.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/24/career-advice.html" Saved 1400 words to "/tmp/jgd-wLA/clone/_site/ru/2017/01/24/career-advice.html" Saved 711 words to "/tmp/jgd-wLA/clone/_site/zh/2018/04/10/learning-by-refactoring.html" Saved 1818 words to "/tmp/jgd-wLA/clone/_site/ru/2018/04/10/learning-by-refactoring.html" Saved 700 words to "/tmp/jgd-wLA/clone/_site/zh/2022/07/20/command-line-defaults.html" Saved 1040 words to "/tmp/jgd-wLA/clone/_site/ru/2022/07/20/command-line-defaults.html" Saved 1224 words to "/tmp/jgd-wLA/clone/_site/en/2024/01/03/not-able-to-speak.html" Saved 839 words to "/tmp/jgd-wLA/clone/_site/zh/2024/01/03/not-able-to-speak.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2023/09/19/five-ingredients-career.html" Saved 1226 words to "/tmp/jgd-wLA/clone/_site/ru/2023/09/19/five-ingredients-career.html" Saved 622 words to "/tmp/jgd-wLA/clone/_site/zh/2017/08/01/how-to-manage-a-manager.html" Saved 1516 words to "/tmp/jgd-wLA/clone/_site/ru/2017/08/01/how-to-manage-a-manager.html" Saved 632 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/20/how-hourly-rate-is-calculated.html" Saved 1317 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/20/how-hourly-rate-is-calculated.html" Saved 865 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/26/sales-kit.html" Saved 1502 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/26/sales-kit.html" Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2019/07/10/inversive-management.html" Saved 1300 words to "/tmp/jgd-wLA/clone/_site/ru/2019/07/10/inversive-management.html" Saved 872 words to "/tmp/jgd-wLA/clone/_site/zh/2018/09/07/what-is-speed.html" Saved 1464 words to "/tmp/jgd-wLA/clone/_site/ru/2018/09/07/what-is-speed.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/13/bugs-are-welcome.html" Saved 1058 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/13/bugs-are-welcome.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2015/12/22/why-dont-you-contribute-to-open-source.html" Saved 1389 words to "/tmp/jgd-wLA/clone/_site/ru/2015/12/22/why-dont-you-contribute-to-open-source.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2018/04/03/donations-via-zerocracy.html" Saved 1003 words to "/tmp/jgd-wLA/clone/_site/ru/2018/04/03/donations-via-zerocracy.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/16/technical-glossaries.html" Saved 1254 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/16/technical-glossaries.html" Saved 690 words to "/tmp/jgd-wLA/clone/_site/zh/2020/10/06/latex-spell-checking.html" Saved 1084 words to "/tmp/jgd-wLA/clone/_site/ru/2020/10/06/latex-spell-checking.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2021/10/12/calibrated-achievement-points.html" Saved 1641 words to "/tmp/jgd-wLA/clone/_site/ru/2021/10/12/calibrated-achievement-points.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/28/one-primary-constructor.html" Saved 793 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/28/one-primary-constructor.html" Saved 846 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/02/java-ssh-client.html" Saved 939 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/02/java-ssh-client.html" Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2019/04/09/beg-them.html" Saved 1458 words to "/tmp/jgd-wLA/clone/_site/ru/2019/04/09/beg-them.html" Saved 979 words to "/tmp/jgd-wLA/clone/_site/zh/2016/10/23/award-2017.html" Saved 1716 words to "/tmp/jgd-wLA/clone/_site/ru/2016/10/23/award-2017.html" Saved 611 words to "/tmp/jgd-wLA/clone/_site/zh/2015/11/24/imprisonment-for-irresponsible-coding.html" Saved 792 words to "/tmp/jgd-wLA/clone/_site/ru/2015/11/24/imprisonment-for-irresponsible-coding.html" Saved 1609 words to "/tmp/jgd-wLA/clone/_site/en/2024/09/21/interpreters-of-chaos.html" Saved 842 words to "/tmp/jgd-wLA/clone/_site/zh/2024/09/21/interpreters-of-chaos.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/06/how-to-be-good-office-slave.html" Saved 1976 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/06/how-to-be-good-office-slave.html" Saved 647 words to "/tmp/jgd-wLA/clone/_site/zh/2018/02/27/parsing-objects.html" Saved 905 words to "/tmp/jgd-wLA/clone/_site/ru/2018/02/27/parsing-objects.html" Saved 635 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/18/good-programmers-bug-free.html" Saved 1066 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/18/good-programmers-bug-free.html" Saved 734 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/19/how-to-release-to-maven-central.html" Saved 1203 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/19/how-to-release-to-maven-central.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/08/morning-standup-meetings.html" Saved 2408 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/08/morning-standup-meetings.html" Saved 874 words to "/tmp/jgd-wLA/clone/_site/zh/2024/12/15/open-source-beginner-advice.html" Saved 1720 words to "/tmp/jgd-wLA/clone/_site/ru/2024/12/15/open-source-beginner-advice.html" Saved 634 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/05/jcabi-parent-maven-pom.html" Saved 928 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/05/jcabi-parent-maven-pom.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/22/10x-paychecks.html" Saved 1264 words to "/tmp/jgd-wLA/clone/_site/ru/2019/01/22/10x-paychecks.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/28/microtasking.html" Saved 2339 words to "/tmp/jgd-wLA/clone/_site/ru/2017/11/28/microtasking.html" Saved 1364 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/29/who-wants-our-donations.html" Saved 823 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/29/who-wants-our-donations.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/22/fast-vs-deep-testing.html" Saved 1357 words to "/tmp/jgd-wLA/clone/_site/ru/2023/08/22/fast-vs-deep-testing.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2016/05/17/convertible-notes.html" Saved 2373 words to "/tmp/jgd-wLA/clone/_site/ru/2016/05/17/convertible-notes.html" Saved 622 words to "/tmp/jgd-wLA/clone/_site/zh/2023/11/28/research-questionnaire.html" Saved 1063 words to "/tmp/jgd-wLA/clone/_site/ru/2023/11/28/research-questionnaire.html" Saved 1118 words to "/tmp/jgd-wLA/clone/_site/en/2017/05/15/loyalty.html" Saved 823 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/15/loyalty.html" Saved 650 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/09/why-no-ebooks.html" Saved 1307 words to "/tmp/jgd-wLA/clone/_site/ru/2016/11/09/why-no-ebooks.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/27/outsourcing-doesnt-work.html" Saved 1861 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/27/outsourcing-doesnt-work.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2017/09/05/rehttp-http-repeater.html" Saved 877 words to "/tmp/jgd-wLA/clone/_site/ru/2017/09/05/rehttp-http-repeater.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/13/deploying-to-heroku.html" Saved 934 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/13/deploying-to-heroku.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/14/stackoverflow-is-your-tool.html" Saved 1331 words to "/tmp/jgd-wLA/clone/_site/ru/2017/02/14/stackoverflow-is-your-tool.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2019/02/05/zache.html" Saved 788 words to "/tmp/jgd-wLA/clone/_site/ru/2019/02/05/zache.html" Saved 709 words to "/tmp/jgd-wLA/clone/_site/zh/2017/06/22/object-oriented-input-output-in-cactoos.html" Saved 1243 words to "/tmp/jgd-wLA/clone/_site/ru/2017/06/22/object-oriented-input-output-in-cactoos.html" Saved 636 words to "/tmp/jgd-wLA/clone/_site/zh/2021/08/11/logging-in-unit-tests.html" Saved 1095 words to "/tmp/jgd-wLA/clone/_site/ru/2021/08/11/logging-in-unit-tests.html" Saved 605 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/13/two-instruments-of-software-architect.html" Saved 1096 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/13/two-instruments-of-software-architect.html" Saved 630 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/22/try-finally-if-not-null.html" Saved 817 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/22/try-finally-if-not-null.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2019/06/11/where-do-you-seek-help.html" Saved 1225 words to "/tmp/jgd-wLA/clone/_site/ru/2019/06/11/where-do-you-seek-help.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/09/catch-if-cant-otherwise.html" Saved 1116 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/09/catch-if-cant-otherwise.html" Saved 761 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/30/jare-instant-free-cdn.html" Saved 1831 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/30/jare-instant-free-cdn.html" Saved 587 words to "/tmp/jgd-wLA/clone/_site/zh/2024/04/01/ping-me-please.html" Saved 819 words to "/tmp/jgd-wLA/clone/_site/ru/2024/04/01/ping-me-please.html" Saved 878 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/28/cost-of-zerocrat.html" Saved 1307 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/28/cost-of-zerocrat.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/20/limit-method-execution-time.html" Saved 899 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/20/limit-method-execution-time.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/10/anti-patterns-in-oop.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/10/anti-patterns-in-oop.html" Saved 635 words to "/tmp/jgd-wLA/clone/_site/zh/2016/06/17/dont-use-java-assertions.html" Saved 831 words to "/tmp/jgd-wLA/clone/_site/ru/2016/06/17/dont-use-java-assertions.html" Saved 1754 words to "/tmp/jgd-wLA/clone/_site/en/2020/07/05/silence-doesnt-cure.html" Saved 838 words to "/tmp/jgd-wLA/clone/_site/zh/2020/07/05/silence-doesnt-cure.html" Saved 659 words to "/tmp/jgd-wLA/clone/_site/zh/2018/04/17/how-to-be-lazy.html" Saved 1503 words to "/tmp/jgd-wLA/clone/_site/ru/2018/04/17/how-to-be-lazy.html" Saved 754 words to "/tmp/jgd-wLA/clone/_site/zh/2014/11/07/how-immutability-helps.html" Saved 2080 words to "/tmp/jgd-wLA/clone/_site/ru/2014/11/07/how-immutability-helps.html" Saved 1347 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/15/what-is-wrong-object-oriented-programming.html" Saved 1437 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/15/what-is-wrong-object-oriented-programming.html" Saved 803 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/08/two-step-initialization.html" Saved 1821 words to "/tmp/jgd-wLA/clone/_site/ru/2023/08/08/two-step-initialization.html" Saved 779 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/14/object-oriented-github-java-sdk.html" Saved 1100 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/14/object-oriented-github-java-sdk.html" Saved 625 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/11/wikipedia-bug-definition.html" Saved 979 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/11/wikipedia-bug-definition.html" Saved 902 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/30/survival-guide.html" Saved 1527 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/30/survival-guide.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2017/09/19/what-motivates-me.html" Saved 1535 words to "/tmp/jgd-wLA/clone/_site/ru/2017/09/19/what-motivates-me.html" Saved 620 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/18/cloud-autoincrement-counters.html" Saved 897 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/18/cloud-autoincrement-counters.html" Saved 1278 words to "/tmp/jgd-wLA/clone/_site/zh/2019/07/02/tdd-misbeliefs.html" Saved 1413 words to "/tmp/jgd-wLA/clone/_site/ru/2019/07/02/tdd-misbeliefs.html" Saved 631 words to "/tmp/jgd-wLA/clone/_site/zh/2023/07/19/just-show-up.html" Saved 1162 words to "/tmp/jgd-wLA/clone/_site/ru/2023/07/19/just-show-up.html" Saved 1867 words to "/tmp/jgd-wLA/clone/_site/en/2019/01/20/drugs.html" Saved 850 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/20/drugs.html" Saved 640 words to "/tmp/jgd-wLA/clone/_site/zh/2015/01/05/how-to-be-honest-and-keep-customer.html" Saved 2144 words to "/tmp/jgd-wLA/clone/_site/ru/2015/01/05/how-to-be-honest-and-keep-customer.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/26/incremental-requirements-with-requs.html" Saved 1509 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/26/incremental-requirements-with-requs.html" Saved 1575 words to "/tmp/jgd-wLA/clone/_site/en/2023/10/01/individualism-vs-collectivism.html" Saved 838 words to "/tmp/jgd-wLA/clone/_site/zh/2023/10/01/individualism-vs-collectivism.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2015/12/16/investors-are-too-scared.html" Saved 1660 words to "/tmp/jgd-wLA/clone/_site/ru/2015/12/16/investors-are-too-scared.html" Saved 1432 words to "/tmp/jgd-wLA/clone/_site/zh/2015/10/17/award-2016.html" Saved 2118 words to "/tmp/jgd-wLA/clone/_site/ru/2015/10/17/award-2016.html" Saved 1610 words to "/tmp/jgd-wLA/clone/_site/en/2024/05/27/freedom-of-speech-vs-intelligence.html" Saved 844 words to "/tmp/jgd-wLA/clone/_site/zh/2024/05/27/freedom-of-speech-vs-intelligence.html" Saved 673 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/09/objects-should-be-immutable.html" Saved 1582 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/09/objects-should-be-immutable.html" Saved 1142 words to "/tmp/jgd-wLA/clone/_site/en/2016/11/26/yanukovych-v-president.html" Saved 833 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/26/yanukovych-v-president.html" Saved 1437 words to "/tmp/jgd-wLA/clone/_site/en/2019/03/17/terrorism-and-power.html" Saved 836 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/17/terrorism-and-power.html" Saved 625 words to "/tmp/jgd-wLA/clone/_site/zh/2022/09/08/smaller-try-blocks.html" Saved 787 words to "/tmp/jgd-wLA/clone/_site/ru/2022/09/08/smaller-try-blocks.html" Saved 617 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/11/software-architect-responsibilities.html" Saved 1078 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/11/software-architect-responsibilities.html" Saved 704 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/29/rultor-with-appveyor.html" Saved 930 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/29/rultor-with-appveyor.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2020/01/15/question-never-ask.html" Saved 975 words to "/tmp/jgd-wLA/clone/_site/ru/2020/01/15/question-never-ask.html" Saved 1184 words to "/tmp/jgd-wLA/clone/_site/en/2016/11/28/saakashvili-speaks-ukrainian.html" Saved 815 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/28/saakashvili-speaks-ukrainian.html" Saved 642 words to "/tmp/jgd-wLA/clone/_site/zh/2017/07/04/sexism.html" Saved 1247 words to "/tmp/jgd-wLA/clone/_site/ru/2017/07/04/sexism.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2018/11/20/journalism.html" Saved 1048 words to "/tmp/jgd-wLA/clone/_site/ru/2018/11/20/journalism.html" Saved 1408 words to "/tmp/jgd-wLA/clone/_site/en/2018/10/07/history-simplification.html" Saved 806 words to "/tmp/jgd-wLA/clone/_site/zh/2018/10/07/history-simplification.html" Saved 911 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/05/ten-hosted-continuous-integration-services.html" Saved 1745 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/05/ten-hosted-continuous-integration-services.html" Saved 657 words to "/tmp/jgd-wLA/clone/_site/zh/2018/12/18/silicon-valley-criticism.html" Saved 2205 words to "/tmp/jgd-wLA/clone/_site/ru/2018/12/18/silicon-valley-criticism.html" Saved 652 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/06/speed-vs-quality.html" Saved 1214 words to "/tmp/jgd-wLA/clone/_site/ru/2018/03/06/speed-vs-quality.html" Saved 1336 words to "/tmp/jgd-wLA/clone/_site/en/2018/01/03/fake-opposition.html" Saved 808 words to "/tmp/jgd-wLA/clone/_site/zh/2018/01/03/fake-opposition.html" Saved 637 words to "/tmp/jgd-wLA/clone/_site/zh/2016/03/28/unspoken-secrets-of-elevator-pitch.html" Saved 1427 words to "/tmp/jgd-wLA/clone/_site/ru/2016/03/28/unspoken-secrets-of-elevator-pitch.html" Saved 663 words to "/tmp/jgd-wLA/clone/_site/zh/2023/10/11/method-of-research.html" Saved 1047 words to "/tmp/jgd-wLA/clone/_site/ru/2023/10/11/method-of-research.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2023/09/05/style-checker-for-bibtex-files.html" Saved 999 words to "/tmp/jgd-wLA/clone/_site/ru/2023/09/05/style-checker-for-bibtex-files.html" Saved 591 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/23/haircut.html" Saved 1001 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/23/haircut.html" Saved 609 words to "/tmp/jgd-wLA/clone/_site/zh/2016/02/18/holacracy-autocracy.html" Saved 1090 words to "/tmp/jgd-wLA/clone/_site/ru/2016/02/18/holacracy-autocracy.html" Saved 676 words to "/tmp/jgd-wLA/clone/_site/zh/2020/05/05/open-source-arms-race.html" Saved 1349 words to "/tmp/jgd-wLA/clone/_site/ru/2020/05/05/open-source-arms-race.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html" Saved 1019 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html" Saved 677 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/26/hacker-vs-programmer-mentality.html" Saved 1476 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/26/hacker-vs-programmer-mentality.html" Saved 609 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/13/no-obligations-principle.html" Saved 1289 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/13/no-obligations-principle.html" Saved 749 words to "/tmp/jgd-wLA/clone/_site/zh/2021/02/10/dataization.html" Saved 1250 words to "/tmp/jgd-wLA/clone/_site/ru/2021/02/10/dataization.html" Saved 1643 words to "/tmp/jgd-wLA/clone/_site/en/2020/03/29/coronavirus.html" Saved 842 words to "/tmp/jgd-wLA/clone/_site/zh/2020/03/29/coronavirus.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/21/naked-data.html" Saved 1036 words to "/tmp/jgd-wLA/clone/_site/ru/2016/11/21/naked-data.html" Saved 637 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/10/if-then-else-code-smell.html" Saved 869 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/10/if-then-else-code-smell.html" Saved 732 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/28/too-many-classes.html" Saved 1327 words to "/tmp/jgd-wLA/clone/_site/ru/2017/02/28/too-many-classes.html" Saved 625 words to "/tmp/jgd-wLA/clone/_site/zh/2017/01/17/synchronized-decorators.html" Saved 1005 words to "/tmp/jgd-wLA/clone/_site/ru/2017/01/17/synchronized-decorators.html" Saved 697 words to "/tmp/jgd-wLA/clone/_site/zh/2019/05/14/cause-risk-effect.html" Saved 2397 words to "/tmp/jgd-wLA/clone/_site/ru/2019/05/14/cause-risk-effect.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2016/09/13/inheritance-is-procedural.html" Saved 1140 words to "/tmp/jgd-wLA/clone/_site/ru/2016/09/13/inheritance-is-procedural.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2019/09/03/injection-of-guilt.html" Saved 1594 words to "/tmp/jgd-wLA/clone/_site/ru/2019/09/03/injection-of-guilt.html" Saved 646 words to "/tmp/jgd-wLA/clone/_site/zh/2014/12/15/how-much-your-objects-encapsulate.html" Saved 1016 words to "/tmp/jgd-wLA/clone/_site/ru/2014/12/15/how-much-your-objects-encapsulate.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2018/06/19/glogin.html" Saved 889 words to "/tmp/jgd-wLA/clone/_site/ru/2018/06/19/glogin.html" Saved 707 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/26/amazon-s3-java-oop-adapter.html" Saved 1127 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/26/amazon-s3-java-oop-adapter.html" Saved 624 words to "/tmp/jgd-wLA/clone/_site/zh/2020/01/07/embrace-the-chaos.html" Saved 966 words to "/tmp/jgd-wLA/clone/_site/ru/2020/01/07/embrace-the-chaos.html" Saved 638 words to "/tmp/jgd-wLA/clone/_site/zh/2014/11/03/empty-line-code-smell.html" Saved 976 words to "/tmp/jgd-wLA/clone/_site/ru/2014/11/03/empty-line-code-smell.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/12/top-down-design.html" Saved 1179 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/12/top-down-design.html" Saved 760 words to "/tmp/jgd-wLA/clone/_site/zh/2013/12/29/proto.html" Saved 1000 words to "/tmp/jgd-wLA/clone/_site/ru/2013/12/29/proto.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2015/04/30/iterating-adapter.html" Saved 788 words to "/tmp/jgd-wLA/clone/_site/ru/2015/04/30/iterating-adapter.html" Saved 648 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/13/strict-code-quality-control.html" Saved 1418 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/13/strict-code-quality-control.html" Saved 690 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/26/composable-decorators.html" Saved 1128 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/26/composable-decorators.html" Saved 1441 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/01/what-is-wrong-about-guns.html" Saved 828 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/01/what-is-wrong-about-guns.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/24/why-monetary-awards-dont-work.html" Saved 1274 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/24/why-monetary-awards-dont-work.html" Saved 658 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/21/zerocracy-announcement.html" Saved 1389 words to "/tmp/jgd-wLA/clone/_site/ru/2018/03/21/zerocracy-announcement.html" Saved 743 words to "/tmp/jgd-wLA/clone/_site/zh/2015/05/18/cookie-based-authentication.html" Saved 1592 words to "/tmp/jgd-wLA/clone/_site/ru/2015/05/18/cookie-based-authentication.html" Saved 677 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/21/mysql-maven-plugin.html" Saved 1057 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/21/mysql-maven-plugin.html" Saved 706 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/18/jcabi-http-server-mocking.html" Saved 1147 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/18/jcabi-http-server-mocking.html" Saved 671 words to "/tmp/jgd-wLA/clone/_site/zh/2014/08/29/docker-non-root.html" Saved 755 words to "/tmp/jgd-wLA/clone/_site/ru/2014/08/29/docker-non-root.html" Saved 613 words to "/tmp/jgd-wLA/clone/_site/zh/2021/02/02/greed-based-planning.html" Saved 1048 words to "/tmp/jgd-wLA/clone/_site/ru/2021/02/02/greed-based-planning.html" Saved 663 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/09/serious-code-reviewer.html" Saved 2091 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/09/serious-code-reviewer.html" Saved 637 words to "/tmp/jgd-wLA/clone/_site/zh/2015/02/16/it-is-not-a-school.html" Saved 1435 words to "/tmp/jgd-wLA/clone/_site/ru/2015/02/16/it-is-not-a-school.html" Saved 629 words to "/tmp/jgd-wLA/clone/_site/zh/2018/02/13/micro-vesting.html" Saved 1058 words to "/tmp/jgd-wLA/clone/_site/ru/2018/02/13/micro-vesting.html" Saved 618 words to "/tmp/jgd-wLA/clone/_site/zh/2019/01/01/hazardous-enthusiasm.html" Saved 1160 words to "/tmp/jgd-wLA/clone/_site/ru/2019/01/01/hazardous-enthusiasm.html" Saved 1717 words to "/tmp/jgd-wLA/clone/_site/en/2023/08/13/dictators.html" Saved 829 words to "/tmp/jgd-wLA/clone/_site/zh/2023/08/13/dictators.html" Saved 633 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/06/how-to-pay-programmers-less.html" Saved 1447 words to "/tmp/jgd-wLA/clone/_site/ru/2016/12/06/how-to-pay-programmers-less.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/17/single-statement-unit-tests.html" Saved 921 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/17/single-statement-unit-tests.html" Saved 696 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/01/dynamodb-local-maven-plugin.html" Saved 952 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/01/dynamodb-local-maven-plugin.html" Saved 680 words to "/tmp/jgd-wLA/clone/_site/zh/2016/04/12/java-annotations-are-evil.html" Saved 1417 words to "/tmp/jgd-wLA/clone/_site/ru/2016/04/12/java-annotations-are-evil.html" Saved 1535 words to "/tmp/jgd-wLA/clone/_site/en/2020/05/02/first-world-hysteria.html" Saved 865 words to "/tmp/jgd-wLA/clone/_site/zh/2020/05/02/first-world-hysteria.html" Saved 734 words to "/tmp/jgd-wLA/clone/_site/zh/2014/11/20/seven-virtues-of-good-object.html" Saved 2919 words to "/tmp/jgd-wLA/clone/_site/ru/2014/11/20/seven-virtues-of-good-object.html" Saved 704 words to "/tmp/jgd-wLA/clone/_site/zh/2015/11/03/chatbot-better-than-ui-for-microservice.html" Saved 2323 words to "/tmp/jgd-wLA/clone/_site/ru/2015/11/03/chatbot-better-than-ui-for-microservice.html" Saved 623 words to "/tmp/jgd-wLA/clone/_site/zh/2015/07/16/fools-dont-write-unit-tests.html" Saved 1101 words to "/tmp/jgd-wLA/clone/_site/ru/2015/07/16/fools-dont-write-unit-tests.html" Saved 868 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/29/concerns.html" Saved 1334 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/29/concerns.html" Saved 628 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/02/remote-slaves.html" Saved 1324 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/02/remote-slaves.html" Saved 625 words to "/tmp/jgd-wLA/clone/_site/zh/2018/04/24/right-way-to-report-bugs.html" Saved 1117 words to "/tmp/jgd-wLA/clone/_site/ru/2018/04/24/right-way-to-report-bugs.html" Saved 619 words to "/tmp/jgd-wLA/clone/_site/zh/2021/08/04/prestructors.html" Saved 809 words to "/tmp/jgd-wLA/clone/_site/ru/2021/08/04/prestructors.html" Saved 627 words to "/tmp/jgd-wLA/clone/_site/zh/2018/10/16/dont-make-me-guess.html" Saved 1185 words to "/tmp/jgd-wLA/clone/_site/ru/2018/10/16/dont-make-me-guess.html" Saved 815 words to "/tmp/jgd-wLA/clone/_site/zh/2014/05/05/oop-alternative-to-utility-classes.html" Saved 1290 words to "/tmp/jgd-wLA/clone/_site/ru/2014/05/05/oop-alternative-to-utility-classes.html" Saved 672 words to "/tmp/jgd-wLA/clone/_site/zh/2022/08/30/dont-group-exception-catchers.html" Saved 906 words to "/tmp/jgd-wLA/clone/_site/ru/2022/08/30/dont-group-exception-catchers.html" Saved 660 words to "/tmp/jgd-wLA/clone/_site/zh/2020/02/11/object-cohesion.html" Saved 1174 words to "/tmp/jgd-wLA/clone/_site/ru/2020/02/11/object-cohesion.html" Saved 963 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/22/takes-java-web-framework.html" Saved 2638 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/22/takes-java-web-framework.html" Saved 696 words to "/tmp/jgd-wLA/clone/_site/zh/2014/04/27/typical-mistakes-in-java-code.html" Saved 1625 words to "/tmp/jgd-wLA/clone/_site/ru/2014/04/27/typical-mistakes-in-java-code.html" Saved 690 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/23/built-in-fake-objects.html" Saved 1131 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/23/built-in-fake-objects.html" Saved 654 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/20/how-we-write-product-vision.html" Saved 1638 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/20/how-we-write-product-vision.html" Saved 626 words to "/tmp/jgd-wLA/clone/_site/zh/2018/08/29/soft-skills.html" Saved 1381 words to "/tmp/jgd-wLA/clone/_site/ru/2018/08/29/soft-skills.html" Saved 700 words to "/tmp/jgd-wLA/clone/_site/zh/2020/06/23/individual-performance-metrics.html" Saved 1575 words to "/tmp/jgd-wLA/clone/_site/ru/2020/06/23/individual-performance-metrics.html" Saved 1542 words to "/tmp/jgd-wLA/clone/_site/en/2017/11/08/crimea.html" Saved 844 words to "/tmp/jgd-wLA/clone/_site/zh/2017/11/08/crimea.html" Saved 622 words to "/tmp/jgd-wLA/clone/_site/zh/2020/12/22/self-managing-orgs.html" Saved 1490 words to "/tmp/jgd-wLA/clone/_site/ru/2020/12/22/self-managing-orgs.html" Saved 714 words to "/tmp/jgd-wLA/clone/_site/zh/2016/09/07/gradients-of-immutability.html" Saved 1130 words to "/tmp/jgd-wLA/clone/_site/ru/2016/09/07/gradients-of-immutability.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/16/getters-and-setters-are-evil.html" Saved 1528 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/16/getters-and-setters-are-evil.html" Saved 1428 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/05/who-needs-war.html" Saved 833 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/05/who-needs-war.html" Saved 690 words to "/tmp/jgd-wLA/clone/_site/zh/2015/04/22/favorite-software-books.html" Saved 1334 words to "/tmp/jgd-wLA/clone/_site/ru/2015/04/22/favorite-software-books.html" Saved 614 words to "/tmp/jgd-wLA/clone/_site/zh/2015/06/02/how-to-estimate-software-cost.html" Saved 1478 words to "/tmp/jgd-wLA/clone/_site/ru/2015/06/02/how-to-estimate-software-cost.html" Saved 653 words to "/tmp/jgd-wLA/clone/_site/zh/2014/06/26/sass-in-java-webapp.html" Saved 714 words to "/tmp/jgd-wLA/clone/_site/ru/2014/06/26/sass-in-java-webapp.html" Saved 2148 words to "/tmp/jgd-wLA/clone/_site/en/2017/10/30/ukrainian-language.html" Saved 819 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/30/ukrainian-language.html" Saved 722 words to "/tmp/jgd-wLA/clone/_site/zh/2019/03/26/jpages.html" Saved 1419 words to "/tmp/jgd-wLA/clone/_site/ru/2019/03/26/jpages.html" Saved 2011 words to "/tmp/jgd-wLA/clone/_site/en/2018/03/17/putin-election.html" Saved 846 words to "/tmp/jgd-wLA/clone/_site/zh/2018/03/17/putin-election.html" Saved 630 words to "/tmp/jgd-wLA/clone/_site/zh/2010/03/04/pdd.html" Saved 1262 words to "/tmp/jgd-wLA/clone/_site/ru/2010/03/04/pdd.html" Saved 704 words to "/tmp/jgd-wLA/clone/_site/zh/2020/12/01/abstract-objects.html" Saved 1060 words to "/tmp/jgd-wLA/clone/_site/ru/2020/12/01/abstract-objects.html" Saved 645 words to "/tmp/jgd-wLA/clone/_site/zh/2015/03/26/jaxb-vs-xembly.html" Saved 962 words to "/tmp/jgd-wLA/clone/_site/ru/2015/03/26/jaxb-vs-xembly.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/18/law-of-demeter.html" Saved 1014 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/18/law-of-demeter.html" Saved 639 words to "/tmp/jgd-wLA/clone/_site/zh/2020/07/29/open-source-etiquette.html" Saved 1286 words to "/tmp/jgd-wLA/clone/_site/ru/2020/07/29/open-source-etiquette.html" Saved 627 words to "/tmp/jgd-wLA/clone/_site/zh/2016/04/05/printers-instead-of-getters.html" Saved 1150 words to "/tmp/jgd-wLA/clone/_site/ru/2016/04/05/printers-instead-of-getters.html" Saved 654 words to "/tmp/jgd-wLA/clone/_site/zh/2019/10/29/sql-as-a-service.html" Saved 1193 words to "/tmp/jgd-wLA/clone/_site/ru/2019/10/29/sql-as-a-service.html" Saved 679 words to "/tmp/jgd-wLA/clone/_site/zh/2018/05/22/default-arguments-against-null.html" Saved 847 words to "/tmp/jgd-wLA/clone/_site/ru/2018/05/22/default-arguments-against-null.html" Saved 705 words to "/tmp/jgd-wLA/clone/_site/zh/2018/12/11/unit-testing-anti-patterns.html" Saved 1462 words to "/tmp/jgd-wLA/clone/_site/ru/2018/12/11/unit-testing-anti-patterns.html" Saved 1588 words to "/tmp/jgd-wLA/clone/_site/en/2019/04/28/formula-of-happiness.html" Saved 824 words to "/tmp/jgd-wLA/clone/_site/zh/2019/04/28/formula-of-happiness.html" Saved 1595 words to "/tmp/jgd-wLA/clone/_site/en/2019/02/21/jews-vs-french.html" Saved 842 words to "/tmp/jgd-wLA/clone/_site/zh/2019/02/21/jews-vs-french.html" Saved 1190 words to "/tmp/jgd-wLA/clone/_site/zh/2017/10/24/award-2018.html" Saved 1775 words to "/tmp/jgd-wLA/clone/_site/ru/2017/10/24/award-2018.html" Saved 659 words to "/tmp/jgd-wLA/clone/_site/zh/2014/07/21/read-only-master-branch.html" Saved 1562 words to "/tmp/jgd-wLA/clone/_site/ru/2014/07/21/read-only-master-branch.html" Saved 650 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/18/software-conferences-to-attend.html" Saved 709 words to "/tmp/jgd-wLA/clone/_site/ru/2016/11/18/software-conferences-to-attend.html" Saved 684 words to "/tmp/jgd-wLA/clone/_site/zh/2014/09/09/restful-web-sites.html" Saved 1292 words to "/tmp/jgd-wLA/clone/_site/ru/2014/09/09/restful-web-sites.html" Saved 644 words to "/tmp/jgd-wLA/clone/_site/zh/2018/05/29/object-validation.html" Saved 1106 words to "/tmp/jgd-wLA/clone/_site/ru/2018/05/29/object-validation.html" Saved 1323 words to "/tmp/jgd-wLA/clone/_site/en/2016/12/30/tu154-sochi.html" Saved 818 words to "/tmp/jgd-wLA/clone/_site/zh/2016/12/30/tu154-sochi.html" Saved 641 words to "/tmp/jgd-wLA/clone/_site/zh/2016/07/26/active-record.html" Saved 975 words to "/tmp/jgd-wLA/clone/_site/ru/2016/07/26/active-record.html" Saved 632 words to "/tmp/jgd-wLA/clone/_site/zh/2020/05/13/career-killer.html" Saved 1258 words to "/tmp/jgd-wLA/clone/_site/ru/2020/05/13/career-killer.html" Saved 655 words to "/tmp/jgd-wLA/clone/_site/zh/2017/02/21/say-no-to-google-recruiters.html" Saved 1268 words to "/tmp/jgd-wLA/clone/_site/ru/2017/02/21/say-no-to-google-recruiters.html" Saved 618 words to "/tmp/jgd-wLA/clone/_site/zh/2016/11/29/eolang.html" Saved 763 words to "/tmp/jgd-wLA/clone/_site/ru/2016/11/29/eolang.html" Saved 648 words to "/tmp/jgd-wLA/clone/_site/zh/2015/11/10/ten-mistakes-in-specs.html" Saved 2587 words to "/tmp/jgd-wLA/clone/_site/ru/2015/11/10/ten-mistakes-in-specs.html" Saved 673 words to "/tmp/jgd-wLA/clone/_site/zh/2017/04/25/sixnines.html" Saved 951 words to "/tmp/jgd-wLA/clone/_site/ru/2017/04/25/sixnines.html" Saved 620 words to "/tmp/jgd-wLA/clone/_site/zh/2017/05/30/why-contribute-to-open-source.html" Saved 1005 words to "/tmp/jgd-wLA/clone/_site/ru/2017/05/30/why-contribute-to-open-source.html" Saved 640 words to "/tmp/jgd-wLA/clone/_site/zh/2015/12/29/turnover-is-good-for-maintainability.html" Saved 1217 words to "/tmp/jgd-wLA/clone/_site/ru/2015/12/29/turnover-is-good-for-maintainability.html" Saved 621 words to "/tmp/jgd-wLA/clone/_site/zh/2014/10/06/software-project-lifecycle.html" Saved 1716 words to "/tmp/jgd-wLA/clone/_site/ru/2014/10/06/software-project-lifecycle.html" Saved 667 words to "/tmp/jgd-wLA/clone/_site/zh/2016/08/30/decomposition-of-responsibility.html" Saved 986 words to "/tmp/jgd-wLA/clone/_site/ru/2016/08/30/decomposition-of-responsibility.html" Saved 675 words to "/tmp/jgd-wLA/clone/_site/zh/2015/11/16/json-vs-xml.html" Saved 1387 words to "/tmp/jgd-wLA/clone/_site/ru/2015/11/16/json-vs-xml.html" Saved 1465 words to "/tmp/jgd-wLA/clone/_site/zh/2017/06/27/my-environment.html" Saved 1502 words to "/tmp/jgd-wLA/clone/_site/ru/2017/06/27/my-environment.html" done in 153.034 seconds. Auto-regeneration: disabled. Use --watch to enable. + '[' '!' -e _site ']' + cp -R _site /tmp/jgd-wLA + cd /tmp/jgd-wLA + rm -rf /tmp/jgd-wLA/clone + mv /tmp/jgd-wLA/copy /tmp/jgd-wLA/clone + cd /tmp/jgd-wLA/clone + echo -e '\nPreparing gh-pages branch:' Preparing gh-pages branch: ++ grep origin/gh-pages ++ git branch -a + '[' -z ' remotes/origin/gh-pages' ']' + git checkout gh-pages branch 'gh-pages' set up to track 'origin/gh-pages'. Switched to a new branch 'gh-pages' + echo -e '\nDeploying into gh-pages branch:' Deploying into gh-pages branch: + rm -rf 100304.html 131229.html 140406a.html 140406b.html 140406.html 140409.html 140411a.html 140411.html 140412.html 140413a.html 140413.html 140414.html 140415a.html 140415.html 140417.html 140418.html 140420.html 140421.html 140424.html 140426.html 140427.html 140428.html 140429.html 140501.html 140505.html 140513.html 140514.html 140518.html 140521.html 140523.html 140526.html 140601.html 140609.html 140619.html 140620.html 140621.html 140624.html 140625.html 140626.html 140629.html 140703.html 140720.html 140721.html 140724.html 140729.html 140731.html 140803.html 140813.html 140815.html 140818.html 140819.html 140822.html 140825.html 140826.html 140829.html 140902.html 140909.html 140910.html 140911.html 140913.html 140916.html 140922.html 140923.html 140924.html 141003.html 141005.html 141006.html 141007.html 141008.html 141012.html 141020.html 141021.html 141023.html 141026.html 141029.html 141103.html 141107.html 141114.html 141120.html 141124.html 141201.html 141204.html 141209.html 141215.html 141218.html 141222.html 150105.html 150108.html 150110.html 150112.html 150115.html 150121.html 150126.html 150202.html 150205.html 150209.html 150212.html 150216.html 150220.html 150223.html 150226.html 150302.html 150309.html 150316.html 150322.html 150326.html 150329.html 150402.html 150413.html 150416.html 150422.html 150430.html 150504.html 150507.html 150511.html 150513.html 150518.html 150521.html 150525.html 150528.html 150602.html 150608.html 150611.html 150615.html 150618.html 150622.html 150625.html 150629.html 150706.html 150709.html 150713.html 150716.html 150721.html 150728.html 150804.html 150818.html 150825.html 150901.html 150907.html 150910.html 150916.html 150922.html 150929.html 151001.html 151006.html 151013.html 151016.html 151017.html 151020.html 151027.html 151103.html 151110.html 151116.html 151121.html 151124.html 151201.html 151208.html 151216.html 151222.html 151229.html 160105.html 160112.html 160119.html 160126.html 160203.html 160209.html 160218.html 160301.html 160308.html 160315.html 160322.html 160328.html 160330.html 160405.html 160408.html 160412.html 160419.html 160426.html 160503.html 160510.html 160517.html 160524.html 160603.html 160617.html 160621.html 160627.html 160706.html 160710.html 160711.html 160714.html 160718.html 160721.html 160726.html 160801.html 160805.html 160810.html 160815.html 160823.html 160830.html 160907.html 160913.html 160920.html 160927.html 161023.html 161109.html 161118.html 161121.html 161126.html 161128.html 161129.html 161201.html 161205.html 161206.html 161208.html 161212.html 161213.html 161215.html 161219a.html 161219.html 161220.html 161222.html 161226.html 161229.html 161230.html 170102.html 170103.html 170105.html 170110.html 170112.html 170116.html 170117.html 170123.html 170124.html 170130.html 170131.html 170206.html 170207.html 170214.html 170220.html 170221.html 170228.html 170302.html 170307.html 170324.html 170328.html 170405.html 170411.html 170418a.html 170418.html 170424.html 170425.html 170502.html 170510.html 170515.html 170516.html 170517.html 170523.html 170530.html 170606.html 170613.html 170622.html 170627.html 170629.html 170704.html 170711.html 170718.html 170725.html 170727.html 170801.html 170808.html 170815.html 170822.html 170829.html 170905.html 170912.html 170919.html 170926.html 171003.html 171010.html 171017.html 171024a.html 171024.html 171030.html 171107.html 171108.html 171114.html 171121.html 171122.html 171128.html 171205.html 171212.html 171219.html 171226.html 180102.html 180103.html 180109.html 180110.html 180116.html 180123.html 180206.html 180213.html 180227.html 180306.html 180313.html 180317.html 180321.html 180325.html 180327.html 180403.html 180410.html 180417.html 180424.html 180508.html 180522.html 180529.html 180619.html 180626.html 180703.html 180724.html 180814.html 180822.html 180827.html 180829.html 180905.html 180907.html 180912.html 180918.html 180930.html 181001.html 181007.html 181009.html 181016.html 181030.html 181106.html 181113.html 181120.html 181123.html 181127.html 181211.html 181218.html 181225.html 190101.html 190113.html 190115.html 190120.html 190122.html 190128.html 190129.html 190203.html 190205.html 190212.html 190216.html 190221.html 190312a.html 190312.html 190317.html 190319.html 190326a.html 190326.html 190328.html 190329.html 190330.html 190402.html 190409.html 190417.html 190423.html 190428.html 190507.html 190514.html 190521.html 190528.html 190611.html 190619.html 190626.html 190702.html 190707.html 190710.html 190730.html 190731.html 190903.html 190910.html 190915.html 190917.html 190927.html 190928.html 191029.html 191103.html 191105.html 191119.html 191203.html 191224.html 191231a.html 191231.html 200107.html 200115.html 200211.html 200219.html 200303.html 200329.html 200502.html 200505.html 200513.html 200519.html 200612.html 200623.html 200705.html 200729.html 2009 2010 201006.html 201013.html 201027.html 201103.html 201110.html 201115.html 201121.html 201124.html 201201.html 201222.html 201229.html 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 210202.html 210210.html 210303.html 210414.html 210601.html 210804.html 210811.html 210909.html 211012.html 211021.html 211201.html 220216.html 220329.html 220605.html 220614.html 220705.html 220720.html 220804.html 220810.html 220824.html 220830.html 220908.html 230119.html 230719.html 230725.html 230801.html 230808.html 230813.html 230815.html 230822.html 230827.html 230829.html 230905.html 230917.html 230919.html 230929.html 231001.html 231011.html 231122.html 231128.html 231211.html 231217.html 231226.html 240103.html 240206.html 240401.html 240402.html 240527.html 240609.html 240623.html 240707.html 240921.html 241215.html 256-bloghacks.html 404.html about-me.html ads.txt angry-tests.html award.html best.html bin boilerplate.html books.html buffer.rss CNAME code-ahead.html contents.html css elegant-objects.html en eo-reviews.html favicon.ico fiction.html films.html fonts gnuplot images index.html js junior-objects.html movies.html non-fiction.html opensearch.html opensearch.xml p paintings.html pdf pets.html places.txt podcast quotes.html redirects.json renovate.json research.html robots.txt rss rss.xml ru seen.html shift-m shift-m.html sitemap.xml stats.svg subscribed.html tag tags.txt talks.html teaching.html testimonials.html trainings.html txt uml videos.html webinars.html words.txt zh + cp -R /tmp/jgd-wLA/_site/100304.html /tmp/jgd-wLA/_site/131229.html /tmp/jgd-wLA/_site/140406a.html /tmp/jgd-wLA/_site/140406b.html /tmp/jgd-wLA/_site/140406.html /tmp/jgd-wLA/_site/140409.html /tmp/jgd-wLA/_site/140411a.html /tmp/jgd-wLA/_site/140411.html /tmp/jgd-wLA/_site/140412.html /tmp/jgd-wLA/_site/140413a.html /tmp/jgd-wLA/_site/140413.html /tmp/jgd-wLA/_site/140414.html /tmp/jgd-wLA/_site/140415a.html /tmp/jgd-wLA/_site/140415.html /tmp/jgd-wLA/_site/140417.html /tmp/jgd-wLA/_site/140418.html /tmp/jgd-wLA/_site/140420.html /tmp/jgd-wLA/_site/140421.html /tmp/jgd-wLA/_site/140424.html /tmp/jgd-wLA/_site/140426.html /tmp/jgd-wLA/_site/140427.html /tmp/jgd-wLA/_site/140428.html /tmp/jgd-wLA/_site/140429.html /tmp/jgd-wLA/_site/140501.html /tmp/jgd-wLA/_site/140505.html /tmp/jgd-wLA/_site/140513.html /tmp/jgd-wLA/_site/140514.html /tmp/jgd-wLA/_site/140518.html /tmp/jgd-wLA/_site/140521.html /tmp/jgd-wLA/_site/140523.html /tmp/jgd-wLA/_site/140526.html /tmp/jgd-wLA/_site/140601.html /tmp/jgd-wLA/_site/140609.html /tmp/jgd-wLA/_site/140619.html /tmp/jgd-wLA/_site/140620.html /tmp/jgd-wLA/_site/140621.html /tmp/jgd-wLA/_site/140624.html /tmp/jgd-wLA/_site/140625.html /tmp/jgd-wLA/_site/140626.html /tmp/jgd-wLA/_site/140629.html /tmp/jgd-wLA/_site/140703.html /tmp/jgd-wLA/_site/140720.html /tmp/jgd-wLA/_site/140721.html /tmp/jgd-wLA/_site/140724.html /tmp/jgd-wLA/_site/140729.html /tmp/jgd-wLA/_site/140731.html /tmp/jgd-wLA/_site/140803.html /tmp/jgd-wLA/_site/140813.html /tmp/jgd-wLA/_site/140815.html /tmp/jgd-wLA/_site/140818.html /tmp/jgd-wLA/_site/140819.html /tmp/jgd-wLA/_site/140822.html /tmp/jgd-wLA/_site/140825.html /tmp/jgd-wLA/_site/140826.html /tmp/jgd-wLA/_site/140829.html /tmp/jgd-wLA/_site/140902.html /tmp/jgd-wLA/_site/140909.html /tmp/jgd-wLA/_site/140910.html /tmp/jgd-wLA/_site/140911.html /tmp/jgd-wLA/_site/140913.html /tmp/jgd-wLA/_site/140916.html /tmp/jgd-wLA/_site/140922.html /tmp/jgd-wLA/_site/140923.html /tmp/jgd-wLA/_site/140924.html /tmp/jgd-wLA/_site/141003.html /tmp/jgd-wLA/_site/141005.html /tmp/jgd-wLA/_site/141006.html /tmp/jgd-wLA/_site/141007.html /tmp/jgd-wLA/_site/141008.html /tmp/jgd-wLA/_site/141012.html /tmp/jgd-wLA/_site/141020.html /tmp/jgd-wLA/_site/141021.html /tmp/jgd-wLA/_site/141023.html /tmp/jgd-wLA/_site/141026.html /tmp/jgd-wLA/_site/141029.html /tmp/jgd-wLA/_site/141103.html /tmp/jgd-wLA/_site/141107.html /tmp/jgd-wLA/_site/141114.html /tmp/jgd-wLA/_site/141120.html /tmp/jgd-wLA/_site/141124.html /tmp/jgd-wLA/_site/141201.html /tmp/jgd-wLA/_site/141204.html /tmp/jgd-wLA/_site/141209.html /tmp/jgd-wLA/_site/141215.html /tmp/jgd-wLA/_site/141218.html /tmp/jgd-wLA/_site/141222.html /tmp/jgd-wLA/_site/150105.html /tmp/jgd-wLA/_site/150108.html /tmp/jgd-wLA/_site/150110.html /tmp/jgd-wLA/_site/150112.html /tmp/jgd-wLA/_site/150115.html /tmp/jgd-wLA/_site/150121.html /tmp/jgd-wLA/_site/150126.html /tmp/jgd-wLA/_site/150202.html /tmp/jgd-wLA/_site/150205.html /tmp/jgd-wLA/_site/150209.html /tmp/jgd-wLA/_site/150212.html /tmp/jgd-wLA/_site/150216.html /tmp/jgd-wLA/_site/150220.html /tmp/jgd-wLA/_site/150223.html /tmp/jgd-wLA/_site/150226.html /tmp/jgd-wLA/_site/150302.html /tmp/jgd-wLA/_site/150309.html /tmp/jgd-wLA/_site/150316.html /tmp/jgd-wLA/_site/150322.html /tmp/jgd-wLA/_site/150326.html /tmp/jgd-wLA/_site/150329.html /tmp/jgd-wLA/_site/150402.html /tmp/jgd-wLA/_site/150413.html /tmp/jgd-wLA/_site/150416.html /tmp/jgd-wLA/_site/150422.html /tmp/jgd-wLA/_site/150430.html /tmp/jgd-wLA/_site/150504.html /tmp/jgd-wLA/_site/150507.html /tmp/jgd-wLA/_site/150511.html /tmp/jgd-wLA/_site/150513.html /tmp/jgd-wLA/_site/150518.html /tmp/jgd-wLA/_site/150521.html /tmp/jgd-wLA/_site/150525.html /tmp/jgd-wLA/_site/150528.html /tmp/jgd-wLA/_site/150602.html /tmp/jgd-wLA/_site/150608.html /tmp/jgd-wLA/_site/150611.html /tmp/jgd-wLA/_site/150615.html /tmp/jgd-wLA/_site/150618.html /tmp/jgd-wLA/_site/150622.html /tmp/jgd-wLA/_site/150625.html /tmp/jgd-wLA/_site/150629.html /tmp/jgd-wLA/_site/150706.html /tmp/jgd-wLA/_site/150709.html /tmp/jgd-wLA/_site/150713.html /tmp/jgd-wLA/_site/150716.html /tmp/jgd-wLA/_site/150721.html /tmp/jgd-wLA/_site/150728.html /tmp/jgd-wLA/_site/150804.html /tmp/jgd-wLA/_site/150818.html /tmp/jgd-wLA/_site/150825.html /tmp/jgd-wLA/_site/150901.html /tmp/jgd-wLA/_site/150907.html /tmp/jgd-wLA/_site/150910.html /tmp/jgd-wLA/_site/150916.html /tmp/jgd-wLA/_site/150922.html /tmp/jgd-wLA/_site/150929.html /tmp/jgd-wLA/_site/151001.html /tmp/jgd-wLA/_site/151006.html /tmp/jgd-wLA/_site/151013.html /tmp/jgd-wLA/_site/151016.html /tmp/jgd-wLA/_site/151017.html /tmp/jgd-wLA/_site/151020.html /tmp/jgd-wLA/_site/151027.html /tmp/jgd-wLA/_site/151103.html /tmp/jgd-wLA/_site/151110.html /tmp/jgd-wLA/_site/151116.html /tmp/jgd-wLA/_site/151121.html /tmp/jgd-wLA/_site/151124.html /tmp/jgd-wLA/_site/151201.html /tmp/jgd-wLA/_site/151208.html /tmp/jgd-wLA/_site/151216.html /tmp/jgd-wLA/_site/151222.html /tmp/jgd-wLA/_site/151229.html /tmp/jgd-wLA/_site/160105.html /tmp/jgd-wLA/_site/160112.html /tmp/jgd-wLA/_site/160119.html /tmp/jgd-wLA/_site/160126.html /tmp/jgd-wLA/_site/160203.html /tmp/jgd-wLA/_site/160209.html /tmp/jgd-wLA/_site/160218.html /tmp/jgd-wLA/_site/160301.html /tmp/jgd-wLA/_site/160308.html /tmp/jgd-wLA/_site/160315.html /tmp/jgd-wLA/_site/160322.html /tmp/jgd-wLA/_site/160328.html /tmp/jgd-wLA/_site/160330.html /tmp/jgd-wLA/_site/160405.html /tmp/jgd-wLA/_site/160408.html /tmp/jgd-wLA/_site/160412.html /tmp/jgd-wLA/_site/160419.html /tmp/jgd-wLA/_site/160426.html /tmp/jgd-wLA/_site/160503.html /tmp/jgd-wLA/_site/160510.html /tmp/jgd-wLA/_site/160517.html /tmp/jgd-wLA/_site/160524.html /tmp/jgd-wLA/_site/160603.html /tmp/jgd-wLA/_site/160617.html /tmp/jgd-wLA/_site/160621.html /tmp/jgd-wLA/_site/160627.html /tmp/jgd-wLA/_site/160706.html /tmp/jgd-wLA/_site/160710.html /tmp/jgd-wLA/_site/160711.html /tmp/jgd-wLA/_site/160714.html /tmp/jgd-wLA/_site/160718.html /tmp/jgd-wLA/_site/160721.html /tmp/jgd-wLA/_site/160726.html /tmp/jgd-wLA/_site/160801.html /tmp/jgd-wLA/_site/160805.html /tmp/jgd-wLA/_site/160810.html /tmp/jgd-wLA/_site/160815.html /tmp/jgd-wLA/_site/160823.html /tmp/jgd-wLA/_site/160830.html /tmp/jgd-wLA/_site/160907.html /tmp/jgd-wLA/_site/160913.html /tmp/jgd-wLA/_site/160920.html /tmp/jgd-wLA/_site/160927.html /tmp/jgd-wLA/_site/161023.html /tmp/jgd-wLA/_site/161109.html /tmp/jgd-wLA/_site/161118.html /tmp/jgd-wLA/_site/161121.html /tmp/jgd-wLA/_site/161126.html /tmp/jgd-wLA/_site/161128.html /tmp/jgd-wLA/_site/161129.html /tmp/jgd-wLA/_site/161201.html /tmp/jgd-wLA/_site/161205.html /tmp/jgd-wLA/_site/161206.html /tmp/jgd-wLA/_site/161208.html /tmp/jgd-wLA/_site/161212.html /tmp/jgd-wLA/_site/161213.html /tmp/jgd-wLA/_site/161215.html /tmp/jgd-wLA/_site/161219a.html /tmp/jgd-wLA/_site/161219.html /tmp/jgd-wLA/_site/161220.html /tmp/jgd-wLA/_site/161222.html /tmp/jgd-wLA/_site/161226.html /tmp/jgd-wLA/_site/161229.html /tmp/jgd-wLA/_site/161230.html /tmp/jgd-wLA/_site/170102.html /tmp/jgd-wLA/_site/170103.html /tmp/jgd-wLA/_site/170105.html /tmp/jgd-wLA/_site/170110.html /tmp/jgd-wLA/_site/170112.html /tmp/jgd-wLA/_site/170116.html /tmp/jgd-wLA/_site/170117.html /tmp/jgd-wLA/_site/170123.html /tmp/jgd-wLA/_site/170124.html /tmp/jgd-wLA/_site/170130.html /tmp/jgd-wLA/_site/170131.html /tmp/jgd-wLA/_site/170206.html /tmp/jgd-wLA/_site/170207.html /tmp/jgd-wLA/_site/170214.html /tmp/jgd-wLA/_site/170220.html /tmp/jgd-wLA/_site/170221.html /tmp/jgd-wLA/_site/170228.html /tmp/jgd-wLA/_site/170302.html /tmp/jgd-wLA/_site/170307.html /tmp/jgd-wLA/_site/170324.html /tmp/jgd-wLA/_site/170328.html /tmp/jgd-wLA/_site/170405.html /tmp/jgd-wLA/_site/170411.html /tmp/jgd-wLA/_site/170418a.html /tmp/jgd-wLA/_site/170418.html /tmp/jgd-wLA/_site/170424.html /tmp/jgd-wLA/_site/170425.html /tmp/jgd-wLA/_site/170502.html /tmp/jgd-wLA/_site/170510.html /tmp/jgd-wLA/_site/170515.html /tmp/jgd-wLA/_site/170516.html /tmp/jgd-wLA/_site/170517.html /tmp/jgd-wLA/_site/170523.html /tmp/jgd-wLA/_site/170530.html /tmp/jgd-wLA/_site/170606.html /tmp/jgd-wLA/_site/170613.html /tmp/jgd-wLA/_site/170622.html /tmp/jgd-wLA/_site/170627.html /tmp/jgd-wLA/_site/170629.html /tmp/jgd-wLA/_site/170704.html /tmp/jgd-wLA/_site/170711.html /tmp/jgd-wLA/_site/170718.html /tmp/jgd-wLA/_site/170725.html /tmp/jgd-wLA/_site/170727.html /tmp/jgd-wLA/_site/170801.html /tmp/jgd-wLA/_site/170808.html /tmp/jgd-wLA/_site/170815.html /tmp/jgd-wLA/_site/170822.html /tmp/jgd-wLA/_site/170829.html /tmp/jgd-wLA/_site/170905.html /tmp/jgd-wLA/_site/170912.html /tmp/jgd-wLA/_site/170919.html /tmp/jgd-wLA/_site/170926.html /tmp/jgd-wLA/_site/171003.html /tmp/jgd-wLA/_site/171010.html /tmp/jgd-wLA/_site/171017.html /tmp/jgd-wLA/_site/171024a.html /tmp/jgd-wLA/_site/171024.html /tmp/jgd-wLA/_site/171030.html /tmp/jgd-wLA/_site/171107.html /tmp/jgd-wLA/_site/171108.html /tmp/jgd-wLA/_site/171114.html /tmp/jgd-wLA/_site/171121.html /tmp/jgd-wLA/_site/171122.html /tmp/jgd-wLA/_site/171128.html /tmp/jgd-wLA/_site/171205.html /tmp/jgd-wLA/_site/171212.html /tmp/jgd-wLA/_site/171219.html /tmp/jgd-wLA/_site/171226.html /tmp/jgd-wLA/_site/180102.html /tmp/jgd-wLA/_site/180103.html /tmp/jgd-wLA/_site/180109.html /tmp/jgd-wLA/_site/180110.html /tmp/jgd-wLA/_site/180116.html /tmp/jgd-wLA/_site/180123.html /tmp/jgd-wLA/_site/180206.html /tmp/jgd-wLA/_site/180213.html /tmp/jgd-wLA/_site/180227.html /tmp/jgd-wLA/_site/180306.html /tmp/jgd-wLA/_site/180313.html /tmp/jgd-wLA/_site/180317.html /tmp/jgd-wLA/_site/180321.html /tmp/jgd-wLA/_site/180325.html /tmp/jgd-wLA/_site/180327.html /tmp/jgd-wLA/_site/180403.html /tmp/jgd-wLA/_site/180410.html /tmp/jgd-wLA/_site/180417.html /tmp/jgd-wLA/_site/180424.html /tmp/jgd-wLA/_site/180508.html /tmp/jgd-wLA/_site/180522.html /tmp/jgd-wLA/_site/180529.html /tmp/jgd-wLA/_site/180619.html /tmp/jgd-wLA/_site/180626.html /tmp/jgd-wLA/_site/180703.html /tmp/jgd-wLA/_site/180724.html /tmp/jgd-wLA/_site/180814.html /tmp/jgd-wLA/_site/180822.html /tmp/jgd-wLA/_site/180827.html /tmp/jgd-wLA/_site/180829.html /tmp/jgd-wLA/_site/180905.html /tmp/jgd-wLA/_site/180907.html /tmp/jgd-wLA/_site/180912.html /tmp/jgd-wLA/_site/180918.html /tmp/jgd-wLA/_site/180930.html /tmp/jgd-wLA/_site/181001.html /tmp/jgd-wLA/_site/181007.html /tmp/jgd-wLA/_site/181009.html /tmp/jgd-wLA/_site/181016.html /tmp/jgd-wLA/_site/181030.html /tmp/jgd-wLA/_site/181106.html /tmp/jgd-wLA/_site/181113.html /tmp/jgd-wLA/_site/181120.html /tmp/jgd-wLA/_site/181123.html /tmp/jgd-wLA/_site/181127.html /tmp/jgd-wLA/_site/181211.html /tmp/jgd-wLA/_site/181218.html /tmp/jgd-wLA/_site/181225.html /tmp/jgd-wLA/_site/190101.html /tmp/jgd-wLA/_site/190113.html /tmp/jgd-wLA/_site/190115.html /tmp/jgd-wLA/_site/190120.html /tmp/jgd-wLA/_site/190122.html /tmp/jgd-wLA/_site/190128.html /tmp/jgd-wLA/_site/190129.html /tmp/jgd-wLA/_site/190203.html /tmp/jgd-wLA/_site/190205.html /tmp/jgd-wLA/_site/190212.html /tmp/jgd-wLA/_site/190216.html /tmp/jgd-wLA/_site/190221.html /tmp/jgd-wLA/_site/190312a.html /tmp/jgd-wLA/_site/190312.html /tmp/jgd-wLA/_site/190317.html /tmp/jgd-wLA/_site/190319.html /tmp/jgd-wLA/_site/190326a.html /tmp/jgd-wLA/_site/190326.html /tmp/jgd-wLA/_site/190328.html /tmp/jgd-wLA/_site/190329.html /tmp/jgd-wLA/_site/190330.html /tmp/jgd-wLA/_site/190402.html /tmp/jgd-wLA/_site/190409.html /tmp/jgd-wLA/_site/190417.html /tmp/jgd-wLA/_site/190423.html /tmp/jgd-wLA/_site/190428.html /tmp/jgd-wLA/_site/190507.html /tmp/jgd-wLA/_site/190514.html /tmp/jgd-wLA/_site/190521.html /tmp/jgd-wLA/_site/190528.html /tmp/jgd-wLA/_site/190611.html /tmp/jgd-wLA/_site/190619.html /tmp/jgd-wLA/_site/190626.html /tmp/jgd-wLA/_site/190702.html /tmp/jgd-wLA/_site/190707.html /tmp/jgd-wLA/_site/190710.html /tmp/jgd-wLA/_site/190730.html /tmp/jgd-wLA/_site/190731.html /tmp/jgd-wLA/_site/190903.html /tmp/jgd-wLA/_site/190910.html /tmp/jgd-wLA/_site/190915.html /tmp/jgd-wLA/_site/190917.html /tmp/jgd-wLA/_site/190927.html /tmp/jgd-wLA/_site/190928.html /tmp/jgd-wLA/_site/191029.html /tmp/jgd-wLA/_site/191103.html /tmp/jgd-wLA/_site/191105.html /tmp/jgd-wLA/_site/191119.html /tmp/jgd-wLA/_site/191203.html /tmp/jgd-wLA/_site/191224.html /tmp/jgd-wLA/_site/191231a.html /tmp/jgd-wLA/_site/191231.html /tmp/jgd-wLA/_site/200107.html /tmp/jgd-wLA/_site/200115.html /tmp/jgd-wLA/_site/200211.html /tmp/jgd-wLA/_site/200219.html /tmp/jgd-wLA/_site/200303.html /tmp/jgd-wLA/_site/200329.html /tmp/jgd-wLA/_site/200502.html /tmp/jgd-wLA/_site/200505.html /tmp/jgd-wLA/_site/200513.html /tmp/jgd-wLA/_site/200519.html /tmp/jgd-wLA/_site/200612.html /tmp/jgd-wLA/_site/200623.html /tmp/jgd-wLA/_site/200705.html /tmp/jgd-wLA/_site/200729.html /tmp/jgd-wLA/_site/2009 /tmp/jgd-wLA/_site/2010 /tmp/jgd-wLA/_site/201006.html /tmp/jgd-wLA/_site/201013.html /tmp/jgd-wLA/_site/201027.html /tmp/jgd-wLA/_site/201103.html /tmp/jgd-wLA/_site/201110.html /tmp/jgd-wLA/_site/201115.html /tmp/jgd-wLA/_site/201121.html /tmp/jgd-wLA/_site/201124.html /tmp/jgd-wLA/_site/201201.html /tmp/jgd-wLA/_site/201222.html /tmp/jgd-wLA/_site/201229.html /tmp/jgd-wLA/_site/2013 /tmp/jgd-wLA/_site/2014 /tmp/jgd-wLA/_site/2015 /tmp/jgd-wLA/_site/2016 /tmp/jgd-wLA/_site/2017 /tmp/jgd-wLA/_site/2018 /tmp/jgd-wLA/_site/2019 /tmp/jgd-wLA/_site/2020 /tmp/jgd-wLA/_site/2021 /tmp/jgd-wLA/_site/2022 /tmp/jgd-wLA/_site/2023 /tmp/jgd-wLA/_site/2024 /tmp/jgd-wLA/_site/210202.html /tmp/jgd-wLA/_site/210210.html /tmp/jgd-wLA/_site/210303.html /tmp/jgd-wLA/_site/210414.html /tmp/jgd-wLA/_site/210601.html /tmp/jgd-wLA/_site/210804.html /tmp/jgd-wLA/_site/210811.html /tmp/jgd-wLA/_site/210909.html /tmp/jgd-wLA/_site/211012.html /tmp/jgd-wLA/_site/211021.html /tmp/jgd-wLA/_site/211201.html /tmp/jgd-wLA/_site/220216.html /tmp/jgd-wLA/_site/220329.html /tmp/jgd-wLA/_site/220605.html /tmp/jgd-wLA/_site/220614.html /tmp/jgd-wLA/_site/220705.html /tmp/jgd-wLA/_site/220720.html /tmp/jgd-wLA/_site/220804.html /tmp/jgd-wLA/_site/220810.html /tmp/jgd-wLA/_site/220824.html /tmp/jgd-wLA/_site/220830.html /tmp/jgd-wLA/_site/220908.html /tmp/jgd-wLA/_site/230119.html /tmp/jgd-wLA/_site/230719.html /tmp/jgd-wLA/_site/230725.html /tmp/jgd-wLA/_site/230801.html /tmp/jgd-wLA/_site/230808.html /tmp/jgd-wLA/_site/230813.html /tmp/jgd-wLA/_site/230815.html /tmp/jgd-wLA/_site/230822.html /tmp/jgd-wLA/_site/230827.html /tmp/jgd-wLA/_site/230829.html /tmp/jgd-wLA/_site/230905.html /tmp/jgd-wLA/_site/230917.html /tmp/jgd-wLA/_site/230919.html /tmp/jgd-wLA/_site/230929.html /tmp/jgd-wLA/_site/231001.html /tmp/jgd-wLA/_site/231011.html /tmp/jgd-wLA/_site/231122.html /tmp/jgd-wLA/_site/231128.html /tmp/jgd-wLA/_site/231211.html /tmp/jgd-wLA/_site/231217.html /tmp/jgd-wLA/_site/231226.html /tmp/jgd-wLA/_site/240103.html /tmp/jgd-wLA/_site/240206.html /tmp/jgd-wLA/_site/240401.html /tmp/jgd-wLA/_site/240402.html /tmp/jgd-wLA/_site/240527.html /tmp/jgd-wLA/_site/240609.html /tmp/jgd-wLA/_site/240623.html /tmp/jgd-wLA/_site/240707.html /tmp/jgd-wLA/_site/240921.html /tmp/jgd-wLA/_site/241215.html /tmp/jgd-wLA/_site/256-bloghacks.html /tmp/jgd-wLA/_site/404.html /tmp/jgd-wLA/_site/about-me.html /tmp/jgd-wLA/_site/ads.txt /tmp/jgd-wLA/_site/angry-tests.html /tmp/jgd-wLA/_site/award.html /tmp/jgd-wLA/_site/best.html /tmp/jgd-wLA/_site/bin /tmp/jgd-wLA/_site/boilerplate.html /tmp/jgd-wLA/_site/books.html /tmp/jgd-wLA/_site/buffer.rss /tmp/jgd-wLA/_site/CNAME /tmp/jgd-wLA/_site/code-ahead.html /tmp/jgd-wLA/_site/contents.html /tmp/jgd-wLA/_site/css /tmp/jgd-wLA/_site/elegant-objects.html /tmp/jgd-wLA/_site/en /tmp/jgd-wLA/_site/eo-reviews.html /tmp/jgd-wLA/_site/favicon.ico /tmp/jgd-wLA/_site/fiction.html /tmp/jgd-wLA/_site/films.html /tmp/jgd-wLA/_site/fonts /tmp/jgd-wLA/_site/gnuplot /tmp/jgd-wLA/_site/images /tmp/jgd-wLA/_site/index.html /tmp/jgd-wLA/_site/js /tmp/jgd-wLA/_site/junior-objects.html /tmp/jgd-wLA/_site/LICENSES /tmp/jgd-wLA/_site/movies.html /tmp/jgd-wLA/_site/non-fiction.html /tmp/jgd-wLA/_site/opensearch.html /tmp/jgd-wLA/_site/opensearch.xml /tmp/jgd-wLA/_site/p /tmp/jgd-wLA/_site/paintings.html /tmp/jgd-wLA/_site/pdf /tmp/jgd-wLA/_site/pets.html /tmp/jgd-wLA/_site/places.txt /tmp/jgd-wLA/_site/podcast /tmp/jgd-wLA/_site/quotes.html /tmp/jgd-wLA/_site/redirects.json /tmp/jgd-wLA/_site/renovate.json /tmp/jgd-wLA/_site/research.html /tmp/jgd-wLA/_site/REUSE.toml /tmp/jgd-wLA/_site/robots.txt /tmp/jgd-wLA/_site/rss /tmp/jgd-wLA/_site/rss.xml /tmp/jgd-wLA/_site/ru /tmp/jgd-wLA/_site/seen.html /tmp/jgd-wLA/_site/shift-m /tmp/jgd-wLA/_site/shift-m.html /tmp/jgd-wLA/_site/sitemap.xml /tmp/jgd-wLA/_site/stats.svg /tmp/jgd-wLA/_site/subscribed.html /tmp/jgd-wLA/_site/tag /tmp/jgd-wLA/_site/tags.txt /tmp/jgd-wLA/_site/talks.html /tmp/jgd-wLA/_site/teaching.html /tmp/jgd-wLA/_site/testimonials.html /tmp/jgd-wLA/_site/trainings.html /tmp/jgd-wLA/_site/txt /tmp/jgd-wLA/_site/uml /tmp/jgd-wLA/_site/videos.html /tmp/jgd-wLA/_site/webinars.html /tmp/jgd-wLA/_site/words.txt /tmp/jgd-wLA/_site/zh . + rm -f README.md + git add . ++ date + git commit -am 'new version Sat Mar 22 07:11:47 AM UTC 2025' --allow-empty [gh-pages 160212628d8] new version Sat Mar 22 07:11:47 AM UTC 2025 680 files changed, 5581 insertions(+), 5813 deletions(-) create mode 100644 LICENSES/MIT.txt create mode 100644 REUSE.toml delete mode 100644 css/icons.css delete mode 100644 css/icons.eot delete mode 100644 css/icons.svg delete mode 100644 css/icons.ttf delete mode 100644 css/icons.woff + sed 's|git@github.com:yegor256/blog.git|[skipped]|g' + git push origin gh-pages Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. To github.com:yegor256/blog.git 5091a8768c8..160212628d8 gh-pages -> gh-pages + echo -e '\nCleaning up:' Cleaning up: + rm -rf /tmp/jgd-wLA/clone + rm -rf '' + rm -rf /tmp/jgd-wLA Using /usr/local/rvm/gems/ruby-2.7.6 ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux] Fetching ffi-1.16.3.gem Building native extensions. This could take a while... Successfully installed ffi-1.16.3 1 gem installed Fetching json-1.8.6.gem Fetching fontcustom-2.0.0.gem Fetching rb-inotify-0.11.1.gem Fetching rb-fsevent-0.11.2.gem Fetching listen-3.9.0.gem Fetching thor-0.20.3.gem Successfully installed rb-inotify-0.11.1 Successfully installed rb-fsevent-0.11.2 Successfully installed listen-3.9.0 Successfully installed thor-0.20.3 Building native extensions. This could take a while... Successfully installed json-1.8.6 >> Thanks for installing Font Custom! Please ensure that fontforge is installed before compiling any icons. Visit <http://fontcustom.com> for instructions. Successfully installed fontcustom-2.0.0 6 gems installed 33mWarning: the running version of Bundler (2.1.4) is older than the version that created the lockfile (2.6.6). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.6.6`. 0mResolving dependencies... fontcustom-2.0.0 ++ dirname /home/r/repo/_glyphs/compile.sh + dir=/home/r/repo/_glyphs + target=/tmp/icons + mkdir -p /tmp/icons + fontcustom compile /home/r/repo/_glyphs --output=/tmp/icons --font-name=icons --templates=css --no-hash --force --autowidth --debug 33mWarning: the running version of Bundler (2.1.4) is older than the version that created the lockfile (2.6.6). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.6.6`. 0mResolving dependencies... 1m31m debug0m Using options: {:input=> {:vectors=>"/home/r/repo/_glyphs", :templates=>"/home/r/repo/_glyphs"}, :output=>{:fonts=>"/tmp/icons", :css=>"/tmp/icons", :preview=>"/tmp/icons"}, :config=>false, :templates=>["css"], :font_name=>"icons", :font_design_size=>16, :font_em=>512, :font_ascent=>448, :font_descent=>64, :css_selector=>".icon-{{glyph}}", :preprocessor_path=>nil, :autowidth=>true, :no_hash=>true, :css3=>false, :debug=>true, :force=>true, :quiet=>false, :copyright=>""} 1m32m create0m .fontcustom-manifest.json 1m32m status0m Forcing compile. /usr/local/rvm/gems/ruby-2.7.6/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated 1m31m debug0m Copyright (c) 2000-2024. See AUTHORS for Contributors. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE. Version: 20201107 Based on sources from 2024-06-24 13:55 UTC-ML-D-GDK3. PythonUI_Init() copyUIMethodsToBaseTable() Compressed 8065 to 5883. Processing /tmp/icons/icons.ttf => /tmp/icons/icons.woff2 /usr/local/rvm/gems/ruby-2.7.6/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated 1m32m create0m /tmp/icons/icons.ttf /tmp/icons/icons.svg /tmp/icons/icons.woff /tmp/icons/icons.eot /tmp/icons/icons.woff2 /usr/local/rvm/gems/ruby-2.7.6/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated 1m32m create0m /tmp/icons/icons.css /usr/local/rvm/gems/ruby-2.7.6/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated ++ date +%s + sed -i -E 's|"./icons([^"]+)"|"https://www.yegor256.com/css/icons\1?1742627567"|g' /tmp/icons/icons.css branch 'gh-pages' set up to track 'origin/gh-pages'. Switched to a new branch 'gh-pages' Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. remote: Enumerating objects: 1299, done.K remote: Counting objects: 100% (1299/1299), done.K remote: Compressing objects: 100% (155/155), done.K remote:nTotale1299 (delta11091),9reused 1299 (delta 1091), pack-reused 0 (from 0)K Receiving objects: 100% (1299/1299), 389.90 KiB | 13.92 MiB/s, done. Resolving deltas: 100% (1091/1091), completed with 1040 local objects. From github.com:yegor256/blog 5091a8768c8..160212628d8 gh-pages -> origin/gh-pages 1ac12fa5d58..bde2c62af1f master -> origin/master Updating 5091a8768c8..160212628d8 Fast-forward 2010/03/04/pdd.amp.html | 6 32m+m31m-m 2010/03/04/pdd.html | 8 32m+m31m-m 2013/12/29/proto.html | 6 32m+m31m-m 2014/04/06/introduction.html | 6 32m+m31m-m 2014/04/06/movies-for-thanasis.html | 6 32m+m31m-m 2014/04/06/phandom.html | 6 32m+m31m-m 2014/04/09/xembly-intro.html | 6 32m+m31m-m 2014/04/11/cost-of-loc.html | 6 32m+m31m-m 2014/04/11/jcabi-http-intro.html | 6 32m+m31m-m .../12/puzzle-driven-development-by-roles.amp.html | 6 32m+m31m-m 2014/04/12/puzzle-driven-development-by-roles.html | 6 32m+m31m-m 2014/04/13/bugs-are-welcome.html | 6 32m+m31m-m 2014/04/13/no-obligations-principle.html | 6 32m+m31m-m .../14/jcabi-dynamo-java-api-of-aws-dynamodb.html | 6 32m+m31m-m 2014/04/15/definition-of-done.html | 6 32m+m31m-m 2014/04/15/github-guidelines.html | 6 32m+m31m-m 2014/04/17/how-xdsd-is-different.html | 6 32m+m31m-m 2014/04/18/jcabi-http-server-mocking.html | 6 32m+m31m-m 2014/04/20/how-hourly-rate-is-calculated.html | 6 32m+m31m-m 2014/04/21/s3-http-basic-auth.html | 6 32m+m31m-m 2014/04/24/java-xml-parsing-and-traversing.html | 6 32m+m31m-m .../04/26/incremental-requirements-with-requs.html | 6 32m+m31m-m 2014/04/27/typical-mistakes-in-java-code.html | 6 32m+m31m-m 2014/04/28/xml-xpath-hamcrest-matchers.html | 6 32m+m31m-m 2014/04/29/w3c-java-validators.html | 6 32m+m31m-m 2014/05/01/dynamodb-local-maven-plugin.html | 6 32m+m31m-m 2014/05/05/oop-alternative-to-utility-classes.html | 6 32m+m31m-m 2014/05/13/why-null-is-bad.html | 6 32m+m31m-m 2014/05/14/object-oriented-github-java-sdk.html | 6 32m+m31m-m 2014/05/18/cloud-autoincrement-counters.html | 6 32m+m31m-m 2014/05/21/mysql-maven-plugin.html | 6 32m+m31m-m 2014/05/23/avoid-java-static-logger.html | 6 32m+m31m-m 2014/05/26/amazon-s3-java-oop-adapter.html | 6 32m+m31m-m 2014/06/01/aop-aspectj-java-method-logging.html | 6 32m+m31m-m 2014/06/09/objects-should-be-immutable.html | 6 32m+m31m-m 2014/06/19/avoid-string-concatenation.html | 6 32m+m31m-m 2014/06/20/limit-method-execution-time.html | 6 32m+m31m-m 2014/06/21/casperjs-with-maven.html | 6 32m+m31m-m 2014/06/24/jekyll-github-deploy.html | 6 32m+m31m-m 2014/06/25/xml-and-xslt-in-browser.html | 6 32m+m31m-m 2014/06/26/sass-in-java-webapp.html | 6 32m+m31m-m 2014/06/29/custom-lexer-in-jekyll.html | 6 32m+m31m-m 2014/07/03/how-to-read-manifest-mf.html | 6 32m+m31m-m 2014/07/20/liquibase-in-maven.html | 6 32m+m31m-m 2014/07/21/read-only-master-branch.html | 6 32m+m31m-m 2014/07/24/rultor-automated-merging.html | 6 32m+m31m-m 2014/07/29/docker-in-rultor.html | 6 32m+m31m-m 2014/07/31/travis-and-rultor.html | 6 32m+m31m-m 2014/08/03/cacheable-java-annotation.html | 6 32m+m31m-m 2014/08/13/strict-code-quality-control.html | 6 32m+m31m-m 2014/08/15/retry-java-method-on-exception.html | 6 32m+m31m-m 2014/08/18/fluent-jdbc-decorator.html | 6 32m+m31m-m 2014/08/19/how-to-release-to-maven-central.html | 6 32m+m31m-m 2014/08/22/art-of-software-testing.html | 6 32m+m31m-m 2014/08/25/deploy-to-cloudbees.html | 6 32m+m31m-m 2014/08/26/publish-to-rubygems.html | 6 32m+m31m-m 2014/08/29/docker-non-root.html | 6 32m+m31m-m 2014/09/02/java-ssh-client.html | 6 32m+m31m-m 2014/09/09/restful-web-sites.html | 6 32m+m31m-m 2014/09/10/anti-patterns-in-oop.html | 6 32m+m31m-m 2014/09/11/deployment-script-vs-rultor.html | 6 32m+m31m-m 2014/09/13/deploying-to-heroku.html | 6 32m+m31m-m 2014/09/16/getters-and-setters-are-evil.html | 6 32m+m31m-m 2014/09/22/remote-programming-interview.html | 6 32m+m31m-m 2014/09/23/built-in-fake-objects.html | 6 32m+m31m-m 2014/09/24/why-monetary-awards-dont-work.html | 6 32m+m31m-m 2014/10/03/di-containers-are-evil.html | 6 32m+m31m-m ...ten-hosted-continuous-integration-services.html | 6 32m+m31m-m 2014/10/06/software-project-lifecycle.html | 6 32m+m31m-m 2014/10/07/stop-chatting-start-coding.html | 6 32m+m31m-m 2014/10/08/continuous-integration-is-dead.html | 6 32m+m31m-m 2014/10/12/who-is-software-architect.html | 6 32m+m31m-m 2014/10/20/how-we-write-product-vision.html | 6 32m+m31m-m 2014/10/21/incremental-billing.html | 6 32m+m31m-m 2014/10/23/paired-brackets-notation.html | 6 32m+m31m-m 2014/10/26/hacker-vs-programmer-mentality.html | 6 32m+m31m-m 2014/10/29/how-much-do-you-cost.html | 6 32m+m31m-m 2014/11/03/empty-line-code-smell.html | 6 32m+m31m-m 2014/11/07/how-immutability-helps.html | 6 32m+m31m-m 2014/11/14/hits-of-code.html | 6 32m+m31m-m 2014/11/20/seven-virtues-of-good-object.html | 6 32m+m31m-m 2014/11/24/principles-of-bug-tracking.amp.html | 4 32m+m31m-m 2014/11/24/principles-of-bug-tracking.html | 6 32m+m31m-m 2014/12/01/orm-offensive-anti-pattern.html | 6 32m+m31m-m 2014/12/04/synchronization-between-nodes.html | 6 32m+m31m-m .../12/09/immutable-object-state-and-behavior.html | 6 32m+m31m-m 2014/12/15/how-much-your-objects-encapsulate.html | 6 32m+m31m-m 2014/12/18/independent-technical-reviews.html | 6 32m+m31m-m 2014/12/22/immutable-objects-not-dumb.html | 6 32m+m31m-m 2015/01/05/how-to-be-honest-and-keep-customer.html | 6 32m+m31m-m 2015/01/08/morning-standup-meetings.html | 6 32m+m31m-m 2015/01/10/windows-appveyor-maven.html | 6 32m+m31m-m 2015/01/12/compound-name-is-code-smell.html | 6 32m+m31m-m 2015/01/15/how-to-cut-corners.amp.html | 2 32m+m31m-m 2015/01/15/how-to-cut-corners.html | 6 32m+m31m-m 2015/01/21/if-then-throw-else.html | 6 32m+m31m-m 2015/01/26/happy-boss-false-objective.html | 6 32m+m31m-m 2015/02/02/xsl-transformations-in-java.html | 6 32m+m31m-m 2015/02/05/jcabi-parent-maven-pom.html | 6 32m+m31m-m 2015/02/09/serious-code-reviewer.html | 6 32m+m31m-m 2015/02/12/top-down-design.html | 6 32m+m31m-m 2015/02/16/it-is-not-a-school.html | 6 32m+m31m-m .../utility-classes-vs-functional-programming.html | 6 32m+m31m-m 2015/02/23/haircut.html | 6 32m+m31m-m 2015/02/26/composable-decorators.html | 6 32m+m31m-m 2015/03/02/team-morale-myths-and-reality.html | 6 32m+m31m-m 2015/03/09/objects-end-with-er.html | 6 32m+m31m-m 2015/03/16/technical-glossaries.html | 6 32m+m31m-m 2015/03/22/takes-java-web-framework.html | 6 32m+m31m-m 2015/03/26/jaxb-vs-xembly.html | 6 32m+m31m-m 2015/03/29/rultor-with-appveyor.html | 6 32m+m31m-m 2015/04/02/class-casting-is-anti-pattern.html | 6 32m+m31m-m 2015/04/13/tacit-css-framework-for-dummies.html | 6 32m+m31m-m 2015/04/16/award.html | 6 32m+m31m-m 2015/04/22/favorite-software-books.html | 6 32m+m31m-m 2015/04/30/iterating-adapter.html | 6 32m+m31m-m 2015/05/04/how-to-protect-business-idea.html | 6 32m+m31m-m 2015/05/07/ctors-must-be-code-free.html | 6 32m+m31m-m .../05/11/software-architect-responsibilities.html | 6 32m+m31m-m .../13/two-instruments-of-software-architect.html | 6 32m+m31m-m 2015/05/18/cookie-based-authentication.html | 6 32m+m31m-m .../05/21/avoid-software-outsourcing-disaster.html | 6 32m+m31m-m 2015/05/25/unit-test-scaffolding.html | 6 32m+m31m-m 2015/05/28/one-primary-constructor.html | 6 32m+m31m-m 2015/06/02/how-to-estimate-software-cost.html | 6 32m+m31m-m 2015/06/08/deadly-sins-software-project.html | 6 32m+m31m-m 2015/06/11/wikipedia-bug-definition.html | 6 32m+m31m-m .../06/15/software-outsourcing-survival-guide.html | 6 32m+m31m-m 2015/06/18/good-programmers-bug-free.html | 6 32m+m31m-m 2015/06/22/valid-reasons-to-reject-bug-fix.html | 6 32m+m31m-m 2015/06/25/xml-data-xsl-views-takes-framework.html | 6 32m+m31m-m 2015/06/29/simple-diagrams.html | 6 32m+m31m-m 2015/07/06/public-static-literals.html | 6 32m+m31m-m 2015/07/09/catch-if-cant-otherwise.html | 6 32m+m31m-m 2015/07/13/meetings-are-legalized-robbery.html | 6 32m+m31m-m 2015/07/16/fools-dont-write-unit-tests.html | 6 32m+m31m-m 2015/07/21/hourly-pay-modern-slavery.html | 6 32m+m31m-m 2015/07/28/checked-vs-unchecked-exceptions.html | 6 32m+m31m-m 2015/08/04/nine-steps-start-software-project.html | 6 32m+m31m-m 2015/08/18/multiple-return-statements-in-oop.html | 6 32m+m31m-m 2015/08/25/fail-fast.html | 6 32m+m31m-m 2015/09/01/redundant-variables-are-evil.html | 6 32m+m31m-m 2015/09/07/maven-repository-amazon-s3.html | 6 32m+m31m-m 2015/09/10/testing-exit-criteria.html | 6 32m+m31m-m 2015/09/16/how-to-fire-someone-right.html | 6 32m+m31m-m 2015/09/22/micromanagement.html | 6 32m+m31m-m 2015/09/29/mayonnaise.html | 6 32m+m31m-m 2015/10/01/vertical-horizontal-decorating.html | 6 32m+m31m-m 2015/10/06/how-to-be-good-office-slave.html | 6 32m+m31m-m 2015/10/13/competition-without-rules.html | 6 32m+m31m-m 2015/10/16/ridley-scott-and-joseph-goebbels.html | 6 32m+m31m-m 2015/10/17/award-2016.html | 6 32m+m31m-m 2015/10/20/interrupted-exception.html | 6 32m+m31m-m 2015/10/27/outsourcing-doesnt-work.html | 6 32m+m31m-m .../chatbot-better-than-ui-for-microservice.html | 6 32m+m31m-m 2015/11/10/ten-mistakes-in-specs.html | 6 32m+m31m-m 2015/11/16/json-vs-xml.html | 6 32m+m31m-m 2015/11/21/ringelmann-effect-vs-agile.html | 6 32m+m31m-m .../24/imprisonment-for-irresponsible-coding.html | 6 32m+m31m-m 2015/12/01/rethrow-exceptions.html | 6 32m+m31m-m .../08/temporal-coupling-between-method-calls.html | 6 32m+m31m-m 2015/12/16/investors-are-too-scared.html | 6 32m+m31m-m .../22/why-dont-you-contribute-to-open-source.html | 6 32m+m31m-m .../29/turnover-is-good-for-maintainability.html | 6 32m+m31m-m 2016/01/05/how-to-punish-employees.html | 6 32m+m31m-m .../12/good-programmers-dont-work-for-equity.html | 6 32m+m31m-m 2016/01/19/how-expensive-is-outsourcing.html | 6 32m+m31m-m 2016/01/26/defensive-programming.html | 6 32m+m31m-m 2016/02/03/design-patterns-and-anti-patterns.html | 6 32m+m31m-m 2016/02/09/are-you-still-debugging.html | 6 32m+m31m-m 2016/02/18/holacracy-autocracy.html | 6 32m+m31m-m 2016/03/01/how-we-interview-programmers.html | 6 32m+m31m-m 2016/03/08/pimp-up-your-resume.html | 6 32m+m31m-m .../15/wring-dispatcher-github-notifications.html | 6 32m+m31m-m 2016/03/22/try-finally-if-not-null.html | 6 32m+m31m-m 2016/03/28/unspoken-secrets-of-elevator-pitch.html | 6 32m+m31m-m 2016/03/30/jare-instant-free-cdn.html | 6 32m+m31m-m 2016/04/05/printers-instead-of-getters.html | 6 32m+m31m-m 2016/04/08/revenue-may-kill-startup.html | 6 32m+m31m-m 2016/04/12/java-annotations-are-evil.html | 6 32m+m31m-m 2016/04/19/object-must-not-be-configurable.html | 6 32m+m31m-m 2016/04/26/why-inputstream-design-is-wrong.html | 6 32m+m31m-m 2016/05/03/test-methods-must-share-nothing.html | 6 32m+m31m-m 2016/05/10/keynote-clowns.html | 6 32m+m31m-m 2016/05/17/convertible-notes.html | 6 32m+m31m-m 2016/05/24/who-is-project-manager.html | 6 32m+m31m-m 2016/06/03/conference-mistakes.html | 6 32m+m31m-m 2016/06/17/dont-use-java-assertions.html | 6 32m+m31m-m 2016/06/21/how-to-hire-programmer.html | 6 32m+m31m-m 2016/06/27/singletons-must-die.html | 6 32m+m31m-m 2016/07/06/data-transfer-object.html | 6 32m+m31m-m 2016/07/10/software-project-roles.html | 6 32m+m31m-m 2016/07/11/mistakes-in-agile-manifesto.html | 6 32m+m31m-m 2016/07/14/who-is-object.html | 6 32m+m31m-m 2016/07/18/law-of-demeter.html | 6 32m+m31m-m 2016/07/21/convince-me.html | 6 32m+m31m-m 2016/07/26/active-record.html | 6 32m+m31m-m 2016/08/01/continuous-integration-maturity.html | 6 32m+m31m-m .../05/distributed-teams-are-higher-quality.html | 6 32m+m31m-m 2016/08/10/if-then-else-code-smell.html | 6 32m+m31m-m .../what-is-wrong-object-oriented-programming.html | 6 32m+m31m-m 2016/08/23/communication-maturity.html | 6 32m+m31m-m 2016/08/30/decomposition-of-responsibility.html | 6 32m+m31m-m 2016/09/07/gradients-of-immutability.html | 6 32m+m31m-m 2016/09/13/inheritance-is-procedural.html | 6 32m+m31m-m 2016/09/20/oop-without-classes.html | 6 32m+m31m-m 2016/09/27/command-control-innovate.html | 6 32m+m31m-m 2016/10/23/award-2017.html | 6 32m+m31m-m 2016/11/09/why-no-ebooks.html | 6 32m+m31m-m 2016/11/18/software-conferences-to-attend.html | 6 32m+m31m-m 2016/11/21/naked-data.html | 6 32m+m31m-m 2016/11/26/yanukovych-v-president.html | 2 32m+m31m-m 2016/11/28/saakashvili-speaks-ukrainian.html | 2 32m+m31m-m 2016/11/29/eolang.html | 6 32m+m31m-m 2016/12/01/what-is-wrong-about-guns.html | 2 32m+m31m-m 2016/12/05/who-needs-war.html | 2 32m+m31m-m 2016/12/06/how-to-pay-programmers-less.html | 6 32m+m31m-m 2016/12/08/lustration-in-ukraine.html | 2 32m+m31m-m 2016/12/12/putin-is-power.html | 2 32m+m31m-m 2016/12/13/mvc-vs-oop.html | 6 32m+m31m-m 2016/12/15/onishenko-our-hero.html | 2 32m+m31m-m 2016/12/19/are-you-ashamed-of-voting.html | 2 32m+m31m-m 2016/12/19/privatbank-nationalization.html | 2 32m+m31m-m 2016/12/20/can-objects-be-friends.html | 6 32m+m31m-m 2016/12/22/what-causes-terrorism.html | 2 32m+m31m-m 2016/12/26/what-would-you-ask-putin.html | 2 32m+m31m-m 2016/12/29/who-wants-our-donations.html | 2 32m+m31m-m 2016/12/30/tu154-sochi.html | 2 32m+m31m-m 2017/01/02/ukraine-budget-2017.html | 2 32m+m31m-m 2017/01/03/how-much-you-love-conflicts.html | 6 32m+m31m-m 2017/01/05/justice-against-corruption.html | 2 32m+m31m-m 2017/01/10/how-to-teach-customers.html | 6 32m+m31m-m 2017/01/12/will-i-go-to-war.html | 2 32m+m31m-m 2017/01/16/ukrainian-startups.html | 2 32m+m31m-m 2017/01/17/synchronized-decorators.html | 6 32m+m31m-m 2017/01/23/consciousness-and-revolution.html | 2 32m+m31m-m 2017/01/24/career-advice.html | 6 32m+m31m-m .../30/lifetime-imprisonment-for-separatism.html | 2 32m+m31m-m 2017/01/31/decorating-envelopes.html | 6 32m+m31m-m 2017/02/06/how-to-eliminate-corruption.html | 2 32m+m31m-m 2017/02/07/private-method-is-new-class.html | 6 32m+m31m-m 2017/02/14/stackoverflow-is-your-tool.html | 6 32m+m31m-m 2017/02/20/nationalism-of-the-future.html | 2 32m+m31m-m 2017/02/21/say-no-to-google-recruiters.html | 6 32m+m31m-m 2017/02/28/too-many-classes.html | 6 32m+m31m-m 2017/03/02/history-of-separatism.html | 2 32m+m31m-m 2017/03/07/traits-and-mixins.html | 6 32m+m31m-m 2017/03/24/tdd-that-works.html | 6 32m+m31m-m 2017/03/28/solid.html | 6 32m+m31m-m 2017/04/05/pdd-in-action.amp.html | 5 32m+m31m-m 2017/04/05/pdd-in-action.html | 6 32m+m31m-m 2017/04/11/flexibility-equates-lower-quality.html | 6 32m+m31m-m 2017/04/18/dnepr-corruption-item.html | 2 32m+m31m-m 2017/04/18/no-help-via-email.html | 6 32m+m31m-m 2017/04/24/slaves-of-the-law.html | 2 32m+m31m-m 2017/04/25/sixnines.html | 6 32m+m31m-m 2017/05/02/remote-slaves.html | 6 32m+m31m-m 2017/05/10/inversion-of-control.html | 6 32m+m31m-m 2017/05/15/loyalty.html | 2 32m+m31m-m 2017/05/16/monikers.html | 6 32m+m31m-m 2017/05/17/single-statement-unit-tests.html | 6 32m+m31m-m 2017/05/23/unlimited-number-of-bugs.html | 6 32m+m31m-m 2017/05/30/why-contribute-to-open-source.html | 6 32m+m31m-m 2017/06/06/gluten-free-management.html | 6 32m+m31m-m 2017/06/13/dynamodb-rack-maven.html | 6 32m+m31m-m .../object-oriented-input-output-in-cactoos.html | 6 32m+m31m-m 2017/06/27/my-environment.html | 6 32m+m31m-m 2017/06/29/activists.html | 2 32m+m31m-m 2017/07/04/sexism.html | 6 32m+m31m-m 2017/07/11/how-to-redesign-equals.html | 6 32m+m31m-m 2017/07/18/sexual-harassment.html | 6 32m+m31m-m 2017/07/25/my-favorite-websites.html | 6 32m+m31m-m 2017/07/27/sabotage-failed.html | 2 32m+m31m-m 2017/08/01/how-to-manage-a-manager.html | 6 32m+m31m-m 2017/08/08/raii-in-java.html | 6 32m+m31m-m 2017/08/15/bitcoin-pyramid.html | 6 32m+m31m-m 2017/08/22/to-be-nice-or-not.html | 6 32m+m31m-m 2017/08/29/xcop.html | 6 32m+m31m-m 2017/09/05/rehttp-http-repeater.html | 6 32m+m31m-m 2017/09/12/evil-object-name-suffix-client.html | 6 32m+m31m-m 2017/09/19/what-motivates-me.html | 6 32m+m31m-m 2017/09/26/threecopies-server-data-backup.html | 6 32m+m31m-m 2017/10/03/java9.html | 6 32m+m31m-m 2017/10/10/streams-vs-decorators.html | 6 32m+m31m-m .../10/17/lazy-loading-caching-sticky-cactoos.html | 6 32m+m31m-m 2017/10/24/award-2018.html | 6 32m+m31m-m 2017/10/24/motherland.html | 2 32m+m31m-m 2017/10/30/ukrainian-language.html | 2 32m+m31m-m 2017/11/07/five-new-java-features.html | 6 32m+m31m-m 2017/11/08/crimea.html | 2 32m+m31m-m 2017/11/14/static-factory-methods.html | 6 32m+m31m-m 2017/11/21/trust-pay-lose.html | 6 32m+m31m-m 2017/11/22/opposition.html | 2 32m+m31m-m 2017/11/28/microtasking.html | 6 32m+m31m-m 2017/12/05/data-access-object.html | 6 32m+m31m-m 2017/12/12/alan-kay-was-wrong.html | 6 32m+m31m-m 2017/12/19/srp-is-hoax.html | 6 32m+m31m-m 2017/12/26/software-quality-formula.html | 6 32m+m31m-m 2018/01/02/operator-new-is-toxic.html | 6 32m+m31m-m 2018/01/03/fake-opposition.html | 2 32m+m31m-m 2018/01/09/micro-budgeting.amp.html | 2 32m+m31m-m 2018/01/09/micro-budgeting.html | 6 32m+m31m-m 2018/01/10/dalles-plan.html | 2 32m+m31m-m .../16/educational-aspect-of-static-analysis.html | 6 32m+m31m-m 2018/01/23/sociotech-skills.html | 6 32m+m31m-m 2018/02/06/where-to-find-more-bugs.html | 6 32m+m31m-m 2018/02/13/micro-vesting.html | 6 32m+m31m-m 2018/02/27/parsing-objects.html | 6 32m+m31m-m 2018/03/06/speed-vs-quality.html | 6 32m+m31m-m 2018/03/13/fluent-interfaces.html | 6 32m+m31m-m 2018/03/17/putin-election.html | 2 32m+m31m-m 2018/03/21/zerocracy-announcement.html | 6 32m+m31m-m 2018/03/25/why-gas.html | 2 32m+m31m-m 2018/03/27/how-to-test-thread-safety.html | 6 32m+m31m-m 2018/04/03/donations-via-zerocracy.html | 6 32m+m31m-m 2018/04/10/learning-by-refactoring.html | 6 32m+m31m-m 2018/04/17/how-to-be-lazy.html | 6 32m+m31m-m 2018/04/24/right-way-to-report-bugs.html | 6 32m+m31m-m 2018/05/08/open-source-attributes.html | 6 32m+m31m-m 2018/05/22/default-arguments-against-null.html | 6 32m+m31m-m 2018/05/29/object-validation.html | 6 32m+m31m-m 2018/06/19/glogin.html | 6 32m+m31m-m 2018/06/26/are-you-an-architect.html | 6 32m+m31m-m 2018/07/03/global-variables.html | 6 32m+m31m-m 2018/07/24/bugs-or-pull-requests.html | 6 32m+m31m-m 2018/08/14/seventy-percent.html | 6 32m+m31m-m 2018/08/22/builders-and-manipulators.html | 6 32m+m31m-m 2018/08/27/penalty-for-refusal.html | 6 32m+m31m-m 2018/08/29/soft-skills.html | 6 32m+m31m-m 2018/09/05/monolithic-repositories.html | 6 32m+m31m-m 2018/09/07/what-is-speed.html | 6 32m+m31m-m 2018/09/12/clear-code.html | 6 32m+m31m-m 2018/09/18/fear-of-coupling.html | 6 32m+m31m-m 2018/09/30/award-2019.html | 6 32m+m31m-m 2018/10/01/remote-work.html | 6 32m+m31m-m 2018/10/07/history-simplification.html | 2 32m+m31m-m 2018/10/09/can-you-control-us.html | 6 32m+m31m-m 2018/10/16/dont-make-me-guess.html | 6 32m+m31m-m 2018/10/30/mailanes.html | 6 32m+m31m-m 2018/11/06/ruby-threads.html | 6 32m+m31m-m 2018/11/13/bigotry.html | 6 32m+m31m-m 2018/11/20/journalism.html | 6 32m+m31m-m 2018/11/23/freelance-vs-outsourcing.html | 6 32m+m31m-m 2018/11/27/you-can-do-better.html | 6 32m+m31m-m 2018/12/11/unit-testing-anti-patterns.html | 6 32m+m31m-m 2018/12/18/silicon-valley-criticism.html | 6 32m+m31m-m 2018/12/25/speaker-cheat-sheet.html | 6 32m+m31m-m 2019/01/01/hazardous-enthusiasm.html | 6 32m+m31m-m 2019/01/13/country-as-a-service.html | 2 32m+m31m-m 2019/01/15/what-if-architect-is-wrong.html | 6 32m+m31m-m 2019/01/20/drugs.html | 2 32m+m31m-m 2019/01/22/10x-paychecks.html | 6 32m+m31m-m 2019/01/28/the-wall.html | 2 32m+m31m-m 2019/01/29/dependency-hell.html | 6 32m+m31m-m 2019/02/03/cloudrepo.html | 6 32m+m31m-m 2019/02/05/zache.html | 6 32m+m31m-m 2019/02/12/silicon-valley-benefits.html | 6 32m+m31m-m 2019/02/16/calibrated-democracy.html | 2 32m+m31m-m 2019/02/21/jews-vs-french.html | 2 32m+m31m-m 2019/03/12/data-and-maintainability.html | 6 32m+m31m-m 2019/03/12/how-to-move-faster.html | 6 32m+m31m-m 2019/03/17/terrorism-and-power.html | 2 32m+m31m-m 2019/03/19/logging-without-static-logger.html | 6 32m+m31m-m 2019/03/26/jpages.html | 6 32m+m31m-m 2019/03/26/sales-kit.html | 6 32m+m31m-m 2019/03/28/cost-of-zerocrat.html | 6 32m+m31m-m 2019/03/29/concerns.html | 6 32m+m31m-m 2019/03/30/survival-guide.html | 6 32m+m31m-m 2019/04/02/software-project-review-checklist.html | 6 32m+m31m-m 2019/04/09/beg-them.html | 6 32m+m31m-m 2019/04/17/nutch-from-java.html | 6 32m+m31m-m 2019/04/23/elegant-readme.html | 6 32m+m31m-m 2019/04/28/formula-of-happiness.html | 2 32m+m31m-m 2019/05/07/sibit-bitcoin-command-line-client.html | 6 32m+m31m-m 2019/05/14/cause-risk-effect.html | 6 32m+m31m-m 2019/05/21/dont-improvise.html | 6 32m+m31m-m 2019/05/28/trust-or-not.html | 6 32m+m31m-m 2019/06/11/where-do-you-seek-help.html | 6 32m+m31m-m 2019/06/19/how-much-they-suffer.html | 6 32m+m31m-m 2019/06/26/syncem.html | 6 32m+m31m-m 2019/07/02/tdd-misbeliefs.html | 6 32m+m31m-m 2019/07/07/strong-opinions.html | 2 32m+m31m-m 2019/07/10/inversive-management.html | 6 32m+m31m-m 2019/07/30/joy-of-programming.html | 6 32m+m31m-m 2019/07/31/moscow-protests.html | 2 32m+m31m-m 2019/09/03/injection-of-guilt.html | 6 32m+m31m-m 2019/09/10/how-to-motivate-kids-to-code.html | 6 32m+m31m-m 2019/09/15/revolution-bottom-up.html | 2 32m+m31m-m 2019/09/17/be-unhappy-to-be-happy.html | 6 32m+m31m-m 2019/09/27/parsing-and-printing.html | 6 32m+m31m-m 2019/09/28/what-is-the-point.html | 2 32m+m31m-m 2019/10/29/sql-as-a-service.html | 6 32m+m31m-m 2019/11/03/award-2020.html | 6 32m+m31m-m 2019/11/05/revolutionary-evolution.html | 6 32m+m31m-m 2019/11/19/how-much-cohesion-is-enough.html | 6 32m+m31m-m 2019/12/03/testing-in-code-review.html | 6 32m+m31m-m 2019/12/24/altruism-kills.html | 6 32m+m31m-m 2019/12/31/talented-programmers.html | 6 32m+m31m-m 2019/12/31/testosterone.html | 2 32m+m31m-m 2020/01/07/embrace-the-chaos.html | 6 32m+m31m-m 2020/01/15/question-never-ask.html | 6 32m+m31m-m 2020/02/11/object-cohesion.html | 6 32m+m31m-m 2020/02/19/fat-skinny-design.html | 6 32m+m31m-m 2020/03/03/prefixed-naming.html | 6 32m+m31m-m 2020/03/29/coronavirus.html | 2 32m+m31m-m 2020/05/02/first-world-hysteria.html | 2 32m+m31m-m 2020/05/05/open-source-arms-race.amp.html | 8 32m+m31m-m 2020/05/05/open-source-arms-race.html | 6 32m+m31m-m 2020/05/13/career-killer.html | 6 32m+m31m-m 2020/05/19/veil-objects.html | 6 32m+m31m-m 2020/06/12/protesters.html | 2 32m+m31m-m 2020/06/23/individual-performance-metrics.html | 6 32m+m31m-m 2020/07/05/silence-doesnt-cure.html | 2 32m+m31m-m 2020/07/29/open-source-etiquette.html | 6 32m+m31m-m 2020/10/06/latex-spell-checking.html | 6 32m+m31m-m 2020/10/13/lack-of-problem.html | 6 32m+m31m-m 2020/10/27/distance-of-coupling.html | 6 32m+m31m-m 2020/11/03/daily-reports.html | 6 32m+m31m-m 2020/11/10/typing-without-types.html | 6 32m+m31m-m 2020/11/15/award-2021.html | 6 32m+m31m-m 2020/11/21/svoboda-and-conflicts.html | 2 32m+m31m-m 2020/11/24/objects-without-methods.html | 6 32m+m31m-m 2020/12/01/abstract-objects.html | 6 32m+m31m-m 2020/12/22/self-managing-orgs.html | 6 32m+m31m-m 2020/12/29/metric-for-emotions.html | 6 32m+m31m-m 2021/02/02/greed-based-planning.html | 6 32m+m31m-m 2021/02/10/dataization.html | 6 32m+m31m-m 2021/03/03/imposters-to-win.html | 6 32m+m31m-m 2021/04/14/how-we-organized-iccq.html | 6 32m+m31m-m 2021/06/01/tips-for-recruiters.html | 6 32m+m31m-m 2021/08/04/prestructors.html | 6 32m+m31m-m 2021/08/11/logging-in-unit-tests.html | 6 32m+m31m-m 2021/09/09/simba.html | 6 32m+m31m-m 2021/10/12/calibrated-achievement-points.html | 6 32m+m31m-m 2021/10/21/objectionary.html | 6 32m+m31m-m 2021/12/01/teaching.html | 6 32m+m31m-m 2022/02/16/ai-coding.html | 6 32m+m31m-m 2022/03/29/bugs-occam-razor.html | 6 32m+m31m-m 2022/06/05/reflection-means-hidden-coupling.html | 6 32m+m31m-m 2022/06/14/principle-of-one.html | 6 32m+m31m-m 2022/07/05/safety-net.html | 6 32m+m31m-m 2022/07/20/command-line-defaults.html | 6 32m+m31m-m .../04/code-and-tests-different-pull-requests.html | 6 32m+m31m-m 2022/08/10/xsline-immutable-pipeline.html | 6 32m+m31m-m 2022/08/24/research-paper-template.html | 6 32m+m31m-m 2022/08/30/dont-group-exception-catchers.html | 6 32m+m31m-m 2022/09/08/smaller-try-blocks.html | 6 32m+m31m-m 2023/01/19/layout-of-tests.html | 6 32m+m31m-m 2023/07/19/just-show-up.html | 6 32m+m31m-m 2023/07/25/contribute-disabled-tests.html | 6 32m+m31m-m 2023/08/01/method-overloading.html | 6 32m+m31m-m 2023/08/08/two-step-initialization.html | 6 32m+m31m-m 2023/08/13/dictators.html | 2 32m+m31m-m 2023/08/15/decision-making-process.html | 6 32m+m31m-m 2023/08/22/fast-vs-deep-testing.html | 6 32m+m31m-m 2023/08/27/immigration-by-war.html | 2 32m+m31m-m 2023/08/29/ai-for-software-engineering.html | 6 32m+m31m-m 2023/09/05/style-checker-for-bibtex-files.html | 6 32m+m31m-m 2023/09/17/turbulence.html | 2 32m+m31m-m 2023/09/19/five-ingredients-career.html | 6 32m+m31m-m 2023/09/29/how-to-write-related-work-section.html | 6 32m+m31m-m 2023/10/01/individualism-vs-collectivism.html | 2 32m+m31m-m 2023/10/11/method-of-research.html | 6 32m+m31m-m 2023/11/22/avoid-line-breaks-inside-paragrap.html | 6 32m+m31m-m 2023/11/28/research-questionnaire.html | 6 32m+m31m-m 2023/12/11/results-and-discussion.html | 6 32m+m31m-m 2023/12/17/how-to-review-research-paper.html | 6 32m+m31m-m 2023/12/26/defend-me-against-chatgpt.html | 6 32m+m31m-m 2024/01/03/not-able-to-speak.html | 2 32m+m31m-m 2024/02/06/research-flow.html | 6 32m+m31m-m 2024/04/01/ping-me-please.html | 6 32m+m31m-m 2024/04/02/kulikovo-pole.html | 2 32m+m31m-m 2024/05/27/freedom-of-speech-vs-intelligence.html | 2 32m+m31m-m 2024/06/09/patent-claim.html | 6 32m+m31m-m 2024/06/23/medals-to-win.html | 6 32m+m31m-m 2024/07/07/checking-object-existence.html | 6 32m+m31m-m 2024/09/21/interpreters-of-chaos.html | 2 32m+m31m-m 2024/12/15/open-source-beginner-advice.html | 6 32m+m31m-m 256-bloghacks.html | 2 32m+m31m-m 404.html | 2 32m+m31m-m LICENSES/MIT.txt | 17 32m+m REUSE.toml | 56 32m+m about-me.html | 2 32m+m31m-m angry-tests.html | 2 32m+m31m-m award.html | 2 32m+m31m-m best.html | 2 32m+m31m-m boilerplate.html | 2 32m+m31m-m books.html | 2 32m+m31m-m buffer.rss | 5772 32m++++++++++m31m----------m code-ahead.html | 2 32m+m31m-m contents.html | 2 32m+m31m-m css/icons.css | 108 31m-m css/icons.eot | Bin 31m10642m -> 32m0m bytes css/icons.svg | 171 31m-m css/icons.ttf | Bin 31m10476m -> 32m0m bytes css/icons.woff | Bin 31m7276m -> 32m0m bytes css/layout.css.map | 2 32m+m31m-m elegant-objects.html | 2 32m+m31m-m eo-reviews.html | 2 32m+m31m-m fiction.html | 2 32m+m31m-m films.html | 2 32m+m31m-m index.html | 2 32m+m31m-m js/all.js | 19 32m+m31m-m js/snowflakes.min.js | 5 32m+m junior-objects.html | 2 32m+m31m-m movies.html | 2 32m+m31m-m non-fiction.html | 2 32m+m31m-m opensearch.xml | 19 32m+m31m-m p/10/index.html | 2 32m+m31m-m p/11/index.html | 2 32m+m31m-m p/12/index.html | 2 32m+m31m-m p/13/index.html | 2 32m+m31m-m p/14/index.html | 2 32m+m31m-m p/15/index.html | 2 32m+m31m-m p/16/index.html | 2 32m+m31m-m p/17/index.html | 2 32m+m31m-m p/18/index.html | 2 32m+m31m-m p/19/index.html | 2 32m+m31m-m p/2/index.html | 2 32m+m31m-m p/20/index.html | 2 32m+m31m-m p/21/index.html | 2 32m+m31m-m p/22/index.html | 4 32m+m31m-m p/23/index.html | 2 32m+m31m-m p/24/index.html | 4 32m+m31m-m p/25/index.html | 4 32m+m31m-m p/26/index.html | 4 32m+m31m-m p/27/index.html | 4 32m+m31m-m p/28/index.html | 4 32m+m31m-m p/29/index.html | 4 32m+m31m-m p/3/index.html | 2 32m+m31m-m p/30/index.html | 4 32m+m31m-m p/4/index.html | 2 32m+m31m-m p/5/index.html | 2 32m+m31m-m p/6/index.html | 2 32m+m31m-m p/7/index.html | 2 32m+m31m-m p/8/index.html | 2 32m+m31m-m p/9/index.html | 2 32m+m31m-m paintings.html | 2 32m+m31m-m pets.html | 2 32m+m31m-m podcast/2017/1.html | 6 32m+m31m-m podcast/2017/2.html | 6 32m+m31m-m podcast/2017/3.html | 6 32m+m31m-m podcast/2017/4.html | 6 32m+m31m-m quotes.html | 2 32m+m31m-m research.html | 2 32m+m31m-m rss | 2 32m+m31m-m rss.xml | 2 32m+m31m-m seen.html | 2 32m+m31m-m shift-m.html | 2 32m+m31m-m shift-m/2017/10.html | 6 32m+m31m-m shift-m/2017/11.html | 6 32m+m31m-m shift-m/2017/12.html | 6 32m+m31m-m shift-m/2017/13.html | 6 32m+m31m-m shift-m/2017/14.html | 6 32m+m31m-m shift-m/2017/15.html | 6 32m+m31m-m shift-m/2017/16.html | 6 32m+m31m-m shift-m/2017/17.html | 6 32m+m31m-m shift-m/2017/18.html | 6 32m+m31m-m shift-m/2017/19.html | 6 32m+m31m-m shift-m/2017/20.html | 6 32m+m31m-m shift-m/2017/5.html | 6 32m+m31m-m shift-m/2017/6.html | 6 32m+m31m-m shift-m/2017/7.html | 6 32m+m31m-m shift-m/2017/8.html | 6 32m+m31m-m shift-m/2017/9.html | 6 32m+m31m-m shift-m/2018/21.html | 6 32m+m31m-m shift-m/2018/22.html | 6 32m+m31m-m shift-m/2018/23.html | 6 32m+m31m-m shift-m/2018/24.html | 6 32m+m31m-m shift-m/2018/25.html | 6 32m+m31m-m shift-m/2018/26.html | 6 32m+m31m-m shift-m/2018/27.html | 6 32m+m31m-m shift-m/2018/28.html | 6 32m+m31m-m shift-m/2018/29.html | 6 32m+m31m-m shift-m/2018/30.html | 6 32m+m31m-m shift-m/2018/31.html | 6 32m+m31m-m shift-m/2018/32.html | 6 32m+m31m-m shift-m/2018/33.html | 6 32m+m31m-m shift-m/2018/34.html | 6 32m+m31m-m shift-m/2018/35.html | 6 32m+m31m-m shift-m/2018/36.html | 6 32m+m31m-m shift-m/2018/37.html | 6 32m+m31m-m shift-m/2018/38.html | 6 32m+m31m-m shift-m/2018/39.html | 6 32m+m31m-m shift-m/2018/40.html | 6 32m+m31m-m shift-m/2019/41.html | 6 32m+m31m-m shift-m/2019/42.html | 6 32m+m31m-m shift-m/2020/43.html | 6 32m+m31m-m shift-m/2020/44.html | 6 32m+m31m-m shift-m/2020/45.html | 6 32m+m31m-m shift-m/2021/46.html | 6 32m+m31m-m shift-m/2021/47.html | 6 32m+m31m-m shift-m/2021/48.html | 6 32m+m31m-m shift-m/2021/49.html | 6 32m+m31m-m shift-m/2021/50.html | 6 32m+m31m-m shift-m/2022/51.html | 6 32m+m31m-m shift-m/2022/52.html | 6 32m+m31m-m shift-m/2022/53.html | 6 32m+m31m-m sitemap.xml | 1974 32m+++m31m----m stats.svg | 4 32m+m31m-m subscribed.html | 2 32m+m31m-m tag/agile.html | 2 32m+m31m-m tag/ai.html | 2 32m+m31m-m tag/aop.html | 2 32m+m31m-m tag/architect.html | 2 32m+m31m-m tag/award.html | 2 32m+m31m-m tag/aws.html | 2 32m+m31m-m tag/book-review.html | 2 32m+m31m-m tag/business.html | 2 32m+m31m-m tag/career.html | 2 32m+m31m-m tag/crypto.html | 2 32m+m31m-m tag/devops.html | 2 32m+m31m-m tag/docker.html | 2 32m+m31m-m tag/eolang.html | 2 32m+m31m-m tag/github.html | 2 32m+m31m-m tag/http.html | 2 32m+m31m-m tag/java.html | 2 32m+m31m-m tag/jcabi.html | 2 32m+m31m-m tag/jekyll.html | 2 32m+m31m-m tag/latex.html | 2 32m+m31m-m tag/maintainability.html | 2 32m+m31m-m tag/management.html | 2 32m+m31m-m tag/maven.html | 2 32m+m31m-m tag/mood.html | 2 32m+m31m-m tag/oop.html | 2 32m+m31m-m tag/oss.html | 2 32m+m31m-m tag/outsourcing.html | 2 32m+m31m-m tag/pdd.html | 2 32m+m31m-m tag/pets.html | 2 32m+m31m-m tag/programming.html | 2 32m+m31m-m tag/psychology.html | 2 32m+m31m-m tag/quality.html | 2 32m+m31m-m tag/restful.html | 2 32m+m31m-m tag/ruby.html | 2 32m+m31m-m tag/rultor.html | 2 32m+m31m-m tag/sarcasm.html | 2 32m+m31m-m tag/science.html | 2 32m+m31m-m tag/specs.html | 2 32m+m31m-m tag/tdd.html | 2 32m+m31m-m tag/testing.html | 2 32m+m31m-m tag/xdsd.html | 2 32m+m31m-m tag/xml.html | 2 32m+m31m-m tag/zerocracy.html | 2 32m+m31m-m ...4\320\265\321\200\320\270\320\272\320\260.html" | 2 32m+m31m-m ...2\320\273\320\260\321\201\321\202\321\214.html" | 2 32m+m31m-m .../\320\262\320\276\320\271\320\275\320\260.html" | 2 32m+m31m-m ...0\321\200\321\201\321\202\320\262\320\276.html" | 2 32m+m31m-m ...2\321\200\320\260\321\202\320\270\321\217.html" | 2 32m+m31m-m .../\320\267\320\260\320\272\320\276\320\275.html" | 2 32m+m31m-m ...6\320\273\320\276\320\263\320\270\321\217.html" | 2 32m+m31m-m ...0\321\203\320\277\321\206\320\270\321\217.html" | 2 32m+m31m-m "tag/\320\273\321\216\320\264\320\270.html" | 2 32m+m31m-m ...4\320\276\321\200\320\260\320\273\321\214.html" | 2 32m+m31m-m ...1\320\265\321\201\321\202\320\262\320\276.html" | 2 32m+m31m-m .../\320\277\321\200\320\260\320\262\320\276.html" | 2 32m+m31m-m ...6\320\273\321\216\321\206\320\270\321\217.html" | 2 32m+m31m-m ...2\320\276\320\261\320\276\320\264\320\260.html" | 2 32m+m31m-m ...2\321\200\320\260\320\270\320\275\320\260.html" | 2 32m+m31m-m talks.html | 2 32m+m31m-m teaching.html | 2 32m+m31m-m testimonials.html | 2 32m+m31m-m trainings.html | 2 32m+m31m-m txt/2016/award-2016.txt | 2 32m+m31m-m txt/2018/award-2018.txt | 2 32m+m31m-m uml/19b92d0465e2e819ffcf88cf46c6e333.svg | 4 32m+m31m-m uml/45d05ab3bd9a93ad88ec209352b62f60.svg | 4 32m+m31m-m uml/52d3d016f2264bbf660a23d5bbe84203.svg | 4 32m+m31m-m uml/653125b6c32d12b7325dba52054c09ca.svg | 4 32m+m31m-m uml/930f06f36724929287c1ee82fd95c77b.svg | 4 32m+m31m-m uml/aecf8b3862f82e6d5d8d27e948d45c83.svg | 4 32m+m31m-m uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg | 4 32m+m31m-m uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg | 4 32m+m31m-m uml/c415b43f6d14c18e66db32e9d5d6e8b2.svg | 4 32m+m31m-m uml/cad4de541e1ab10d3d9d751c661fe63f.svg | 4 32m+m31m-m uml/d103661ebf8494340e260442970bf4af.svg | 4 32m+m31m-m uml/d892698103dc5669949527a8754c5f26.svg | 4 32m+m31m-m uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg | 4 32m+m31m-m videos.html | 2 32m+m31m-m webinars.html | 2 32m+m31m-m words.txt | 2 32m+m31m-m 680 files changed, 5581 insertions(+), 5813 deletions(-) create mode 100644 LICENSES/MIT.txt create mode 100644 REUSE.toml delete mode 100644 css/icons.css delete mode 100644 css/icons.eot delete mode 100644 css/icons.svg delete mode 100644 css/icons.ttf delete mode 100644 css/icons.woff [gh-pages 3b842664d0e] new glyphs 5 files changed, 279 insertions(+) create mode 100644 css/icons.css create mode 100644 css/icons.eot create mode 100644 css/icons.svg create mode 100644 css/icons.ttf create mode 100644 css/icons.woff Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 26.05 KiB | 6.51 MiB/s, done. Total 8 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (2/2), completed with 1 local object.K To github.com:yegor256/blog.git 160212628d8..3b842664d0e gh-pages -> gh-pages + mv /home/r/repo . ++ whoami + chown -R root repo + '[' -n repo ']' + docker rmi yegor256/rultor-ljct6jfm Untagged: yegor256/rultor-ljct6jfm:latest Deleted: sha256:b329310c8d6028b3d597abddb312db1e90b3c52bfc78573b602c746334ffa40e ++ whoami + sudo chown -R ubuntu repo + cd repo container 913053fcbcfb04bed26f1e80b55b61b32de9a6915f02f85e3f637f6426adf897 is dead Sat Mar 22 07:13:47 UTC 2025