{"id":599,"date":"2015-07-29T01:07:21","date_gmt":"2015-07-28T23:07:21","guid":{"rendered":"http:\/\/monodes.com\/predaelli\/?p=599"},"modified":"2015-07-29T01:07:21","modified_gmt":"2015-07-28T23:07:21","slug":"fat-obese-npm","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2015\/07\/29\/fat-obese-npm\/","title":{"rendered":"Fat, obese npm"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"600\" data-permalink=\"https:\/\/monodes.com\/predaelli\/2015\/07\/29\/fat-obese-npm\/npm-huge-allocation\/\" data-orig-file=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?fit=854%2C430&amp;ssl=1\" data-orig-size=\"854,430\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"npm-huge-allocation\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?fit=510%2C257&amp;ssl=1\" class=\"aligncenter wp-image-600 size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?resize=854%2C430\" alt=\"npm-huge-allocation\" width=\"854\" height=\"430\" srcset=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?w=854&amp;ssl=1 854w, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?resize=300%2C151&amp;ssl=1 300w, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/07\/npm-huge-allocation.png?resize=510%2C257&amp;ssl=1 510w\" sizes=\"auto, (max-width: 854px) 100vw, 854px\" \/><\/a>I do understand that today designs tend to put less emphasis\u00a0 on conservative memory usage but that&#8217;s pretty outrageous. A simple search into node&#8217;s package manager ate one gigabyte and half of main memory having to deal with a simple question like<\/p>\n<blockquote><p>npm find foobar<\/p><\/blockquote>\n<p>more speficically GNU time told me that it took 48 seconds and <strong>1799Mb<\/strong> of resident memory to scan thorugh a local list of the <strong class=\"pretty-number total-packages\">169.312<\/strong> total packages available from <a href=\"https:\/\/www.npmjs.com\/\">npmjs.com.<\/a><\/p>\n<p>Apt, the almighty Debian package manager consumed a mere <strong>99 MegaBytes<\/strong> to search into package names and descriptions throught more than an hundred thousands packages (107819) which are usually far beefier that javascript modules.<\/p>\n<p><strong>That&#8217;s more than eighteen times.<\/strong><\/p>\n<p>Javascript, your librarian is obese.<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">I do understand that today designs tend to put less emphasis\u00a0 on conservative memory usage but that&#8217;s pretty outrageous. A simple search into node&#8217;s package manager ate one gigabyte and half of main memory having to deal with a simple question like npm find foobar more speficically GNU time told me that it took 48&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2015\/07\/29\/fat-obese-npm\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[50,19],"tags":[63,64,37,62],"class_list":["post-599","post","type-post","status-publish","format-standard","hentry","category-javascript","category-mood","tag-apt","tag-debian","tag-javascript","tag-npm"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-9F","jetpack-related-posts":[{"id":5106,"url":"https:\/\/monodes.com\/predaelli\/2019\/01\/07\/how-to-easily-build-desktop-apps-with-html-css-and-javascript\/","url_meta":{"origin":599,"position":0},"title":"How to Easily Build Desktop Apps with HTML, CSS and Javascript","author":"Paolo Redaelli","date":"2019-01-07","format":false,"excerpt":"Can HTML, CSS and Javascript really be used to build Desktop Applications? Source: How to Easily Build Desktop Apps with HTML, CSS and Javascript How to Easily Build Desktop Apps with HTML, CSS and Javascript Aditya Sridhar Jan 4 Can HTML, CSS and Javascript really be used to build Desktop\u2026","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5071,"url":"https:\/\/monodes.com\/predaelli\/2018\/12\/18\/are-your-js-project-fat\/","url_meta":{"origin":599,"position":1},"title":"Are your js project fat?","author":"Paolo Redaelli","date":"2018-12-18","format":false,"excerpt":"https:\/\/css-tricks.com\/how-to-worry-about-npm-package-weight\/ tells you how to curb your import madness","rel":"","context":"In &quot;Javascript&quot;","block_context":{"text":"Javascript","link":"https:\/\/monodes.com\/predaelli\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5026,"url":"https:\/\/monodes.com\/predaelli\/2018\/12\/10\/exploiting-developer-infrastructure-is-ridiculously-easy\/","url_meta":{"origin":599,"position":2},"title":"Exploiting Developer Infrastructure Is Ridiculously Easy","author":"Paolo Redaelli","date":"2018-12-10","format":false,"excerpt":"The open-source ecosystem is broken Source: Exploiting Developer Infrastructure Is Ridiculously Easy That's why Debian has its own repositories. Exploiting Developer Infrastructure Is Ridiculously Easy The open-source ecosystem is broken Jarrod Overson Nov 27 Photo: Charles Deluvio\/Unsplash In late October, an issue was opened on an extremely popular node.js tool,\u2026","rel":"","context":"In &quot;Ethics&quot;","block_context":{"text":"Ethics","link":"https:\/\/monodes.com\/predaelli\/category\/ethics\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8197,"url":"https:\/\/monodes.com\/predaelli\/2021\/02\/25\/a-post-mortem-in-5-acts-of-how-microsoft-privatized-open-source-killing-javascript-in-the-process\/","url_meta":{"origin":599,"position":3},"title":"A Post-Mortem in 5 Acts, of How Microsoft Privatized Open Source, killing JavaScript in the Process","author":"Paolo Redaelli","date":"2021-02-25","format":"link","excerpt":"A Post-Mortem in 5 Acts, of How Microsoft Privatized Open Source, killing JavaScript in the Process After Microsoft\u2019s blitzkrieg take-over, the Open Source JavaScript community, as we know it, is coming to an end. Alex KleydintsFeb 6\u00b79 min read All things said and done, you must stand in awe, at\u2026","rel":"","context":"In &quot;Ethics&quot;","block_context":{"text":"Ethics","link":"https:\/\/monodes.com\/predaelli\/category\/ethics\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1254,"url":"https:\/\/monodes.com\/predaelli\/2016\/04\/06\/aptyum-cheatlist\/","url_meta":{"origin":599,"position":4},"title":"apt\/yum cheatlist","author":"Paolo Redaelli","date":"2016-04-06","format":false,"excerpt":"apt-cache se I'm actually doing the reverse: SwitchingToUbuntu\/FromLinux\/RedHatEnterpriseLinuxAndFedora\u00a0 but it's easy as a quick Ctrl-F or \/ Table of Equivalent Commands Below is a table of equivalent commands for package management on both Ubuntu\/Debian and Red Hat\/Fedora systems. Task Red Hat\/Fedora Ubuntu Adding, Removing and Upgrading Packages Refresh list of\u2026","rel":"","context":"In &quot;Debian&quot;","block_context":{"text":"Debian","link":"https:\/\/monodes.com\/predaelli\/category\/debian\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11556,"url":"https:\/\/monodes.com\/predaelli\/2024\/04\/03\/bun-a-fast-all-in-one-javascript-runtime\/","url_meta":{"origin":599,"position":5},"title":"Bun \u2014 A fast all-in-one JavaScript runtime","author":"Paolo Redaelli","date":"2024-04-03","format":"link","excerpt":"Bun \u2014 A fast all-in-one JavaScript runtime Bundle, install, and run JavaScript & TypeScript \u2014 all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.","rel":"","context":"In &quot;Javascript&quot;","block_context":{"text":"Javascript","link":"https:\/\/monodes.com\/predaelli\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=599"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/599\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}