brew install docker --cask
from /Applications/Docker.app
Wait until the "Docker Dashboard starting…"-message disappears (= Setup complete)
| // Measure page scroll speed | |
| (function() { | |
| if (document.body.scrollHeight <= window.innerHeight) { | |
| console.log('Scrolling measurement is only possible if the window can actually be scrolled!'); | |
| return; | |
| } | |
| function calcScrollTime(startTime, iterations) { | |
| return Math.round((Date.now() - startTime) / iterations) / 1000; | |
| } |
| /* eslint-disable no-var,no-console */ | |
| /** | |
| * Проверка на масштабирование изображений в браузере. | |
| * Срабатывает, если натуральный размер изображения намного больше отображаемого на странице, | |
| * то есть браузер грузит большую картинку и масштабирует её до маленькой. | |
| */ | |
| (function() { | |
| if (!window.Promise || !String.prototype.startsWith || window.MSInputMethodContext) { | |
| // Не запускаем проверку в IE11 и браузерах, не поддерживающих нужные API | |
| return; |
| /* eslint-disable no-var,no-console */ | |
| // detect unused CSS selectors | |
| (function() { | |
| var parsedRules = parseCssRules(); | |
| console.log('Parsed CSS rules:', parsedRules); | |
| detectDuplicateSelectors(parsedRules); | |
| var selectorsToTrack = getSelectorsToTrack(parsedRules); | |
| window.selectorStats = { unused: [], added: [], removed: [] }; | |
| console.log('Tracking style usage (inspect window.selectorStats for details)...'); |
Kris Nuttycombe asks:
I genuinely wish I understood the appeal of unityped languages better. Can someone who really knows both well-typed and unityped explain?
I think the terms well-typed and unityped are a bit of question-begging here (you might as well say good-typed versus bad-typed), so instead I will say statically-typed and dynamically-typed.
I'm going to approach this article using Scala to stand-in for static typing and Python for dynamic typing. I feel like I am credibly proficient both languages: I don't currently write a lot of Python, but I still have affection for the language, and have probably written hundreds of thousands of lines of Python code over the years.