{"id":22851,"date":"2018-09-24T12:08:40","date_gmt":"2018-09-24T16:08:40","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=22851"},"modified":"2023-10-25T09:34:57","modified_gmt":"2023-10-25T13:34:57","slug":"software-disenchantment","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/09\/24\/software-disenchantment\/","title":{"rendered":"Software Disenchantment"},"content":{"rendered":"<p><a href=\"http:\/\/tonsky.me\/blog\/disenchantment\/\">Nikita Prokopov<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=18012334\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"http:\/\/tonsky.me\/blog\/disenchantment\/\">\n<p>Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How is it ok?<\/p>\n<p>[&#8230;]<\/p>\n<p>Every device I own fails regularly one way or another. My Dell monitor needs a hard reboot from time to time because there&rsquo;s software in it. Airdrop? You&rsquo;re lucky if it&rsquo;ll detect your device, otherwise, what do I do? Bluetooth? Spec is so complex that devices <a href=\"https:\/\/thewirecutter.com\/blog\/understanding-bluetooth-pairing-problems\/\">won&rsquo;t talk to each other<\/a> and <a href=\"http:\/\/time.com\/4358533\/bluetooth-fix-how\/\">periodic resets are the best way to go<\/a>.<\/p>\n<p>[&#8230;]<\/p>\n<p>We put virtual machines inside Linux, and then we put Docker inside virtual machines, simply because nobody was able to clean up the mess that most programs, languages and their environment produce. <\/p>\n<\/blockquote>\n<p>Previously: <a href=\"https:\/\/mjtsai.com\/blog\/2017\/02\/09\/most-of-the-web-really-sucks-if-you-have-a-slow-connection\/\">Most of the Web Really Sucks If You Have a Slow Connection<\/a>, <a href=\"https:\/\/mjtsai.com\/blog\/2018\/08\/15\/continued-mac-bluetooth-problems\/\">Continued Mac Bluetooth Problems<\/a>.<\/p>\n\n<p id=\"software-disenchantment-update-2019-01-29\">Update (2019-01-29): <a href=\"http:\/\/wanderingcoder.net\/2019\/01\/24\/software-reenchantment\/\">Pierre Lebeaupin<\/a>:<\/p>\n<blockquote cite=\"http:\/\/wanderingcoder.net\/2019\/01\/24\/software-reenchantment\/\">\n<p>But later on I started seeing things differently. It is clear that browser developers have been for the last few years engaged in a competition for performance, features, etc., even if they don&rsquo;t all favor the same benchmarks. In that fast-paced environment, it would be a hard dilemma between going for features and performance at the risk of bugs, especially security vulnerabilities, slipping through the cracks, and instead moving at a more careful pace, at the risk of being left behind by more innovative browsers and being marginalized; and even if your competitor&rsquo;s vulnerabilities end up catching up with him in the long term, that still leaves enough time for your browser to be so marginalized that it cannot recover. We&rsquo;re not far from a variant of the prisoner&rsquo;s dilemma. Chrome resolved that dilemma by going for performance and features, and at the same time investing up front in an architecture that provides a safety net so that a single vulnerability doesn&rsquo;t mean the attacker can escape the jail yet, and bugs of other kinds are mitigated. This frees the developers working on most of the browser code, in particular on the JavaScript engine, from excessively needing to worry about security and bugs, with the few people having the most expertise on that instead working on the sandbox architecture of the browser.<\/p>\n<\/blockquote>\n\n<p id=\"software-disenchantment-update-2023-10-25\">Update (2023-10-25): See also: <a href=\"https:\/\/news.ycombinator.com\/item?id=37985176\">Hacker News<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Nikita Prokopov (Hacker News): Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2018-09-24T16:08:42Z","apple_news_api_id":"98221503-5e99-4da8-a400-3f58e0225c12","apple_news_api_modified_at":"2023-10-25T13:35:00Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AmCIVA16ZTaikAD9Y4CJcEg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1003,248,422,1323,1627,31,30,138,71,96,219],"class_list":["post-22851","post","type-post","status-publish","format-standard","hentry","category-technology","tag-airdrop","tag-android","tag-bluetooth","tag-docker","tag-electron","tag-ios","tag-mac","tag-optimization","tag-programming","tag-web","tag-windows"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=22851"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22851\/revisions"}],"predecessor-version":[{"id":40889,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22851\/revisions\/40889"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=22851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=22851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=22851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}