7 ms·
The referenced AppSignal post about 13,000 dependencies for a todo list is conflating dependencies required for the build tooling with dependencies that are act
by ummonk 6y ago
The referenced AppSignal post about 13,000 dependencies for a todo list is conflating dependencies required for the build tooling with dependencies that are actually bundled in to the web app.
It's also hilarious that right after referencing the dependency problem in the JS ecosystem the OP then goes and advocates splitting up your library into a bunch of mini libraries. That's exactly how we got into this mess in the first place.
Also, computer speed has definitely gotten faster. There was a time period during which this was not the case, but particularly the switch to SSDs resulted in a massive jump in computer responsiveness. (The previous jump happened when we no longer needed to wait for dial up to establish a connection)
- beervirus 6y agoResponsiveness in terms of keypress latency has gotten much worse over time.
- cellularmitosis 6y agoyou should include a reference: https://danluu.com/input-lag/ https://danluu.com/input-lag/
- edoceo 6y agoWell, that is an awesome read, thanks!
- bigiain 6y agoFor a more succinct tldr of the same thing: https://mobile.twitter.com/id_aa_carmack/status/193480622533120001 https://mobile.twitter.com/id_aa_carmack/status/193480622533...
- noobermin 6y agothat was one of the most enraging non-political things I've read in years
- badsectoracula 6y agoIn my experience what the switch to SSDs resulted into was Windows 10 becoming practically unusable on a mechanical HDD. Comparing how long the OS needs to start up, launch applications, etc on my laptop with Win10 vs a much older laptop with Win8 (the first and last time Microsoft bothered to optimize Windows the last decade) is night and day and that older laptop originally came with Vista! When i first installed Win8 on that laptop i was so impressed i even took a video[0] of it (and yes, it seems like they kept that performance in 8, though sadly by 8.1 it became slower). [0] https://www.youtube.com/watch?v=Ti3LQHXZ0Qg https://www.youtube.com/watch?v=Ti3LQHXZ0Qg
- rbanffy 6y agoThe same happens on Macs. Starting Safari on an HD-based Mac is painfully slow.
- cable2600 6y agoAt Microcenter you can buy a house brand SSD hard drive with 128G on it for $58 and boot from that and store all your other files on a D:\ regular hard drive. That is how I set up my son's Windows 10 gaming rig.
- zokula 6y agoJust know you can run a full Linux desktop experience on top of twenty-year-old spinning rust just fine. Micro$oft drooped the ball big time if one needs a ssd just to use a OS.
- cable2600 6y agoIt needs a SSD drive to boot faster. Otherwise it takes a few minutes instead of seconds. Windows 10 is for newer hardware anyway, it runs slow on older hardware.
- soulofmischief 6y agoYou are completely missing their point. "For newer hardware" means slower. I remember how Windows 7 was so well-designed that it actually ran faster on my all of my old XP machines than XP did. It was a step up in performance, not a step down. In 2018 Microsoft disbanded the Windows team and moved engineering efforts to its cloud and AI teams. Windows 10 is on life support by engineers who aren't intimately familiar with its codebase. Performance and usability will only degrade in this situation and the specifications of newer hardware don't excuse constant deterioration in performance.
- LeftHandPath 6y agoI agree with the core point of the article, but I agree with your points as well. The conclusion of the article is definitely wrong. I recently buddied up with someone who has a CS degree to try and make a desktop app, as a side project. I asked if he is familiar with MariaDB and whether or not he's used C++ ODBC. Our discussion quickly turned into choosing libraries / existing code. He uses Spring and Hibernate and was bewildered by the concept of tying columns to application variables "manually". After I told him I have some CentOS servers where we could put a shared database, he bought a Windows Server because he "needs a GUI". He added, "Ideally, after it's setup, we'll never even have to remote in to it." For the actual desktop application, he wants to use Electron. It seems there are two distinct branches of computing emerging - one where performance matters, and one where it doesn't. Performance will always matter in places like the stock market or on IBM mainframes. In the consumer-facing world, All that seems to matter is perceived performance. Slack and Discord seem fast, when you watch how quickly a new message pops up on your laptop screen after you sent it on your phone. They seem egregiously slow when you open up task manager and see just how much overhead the chromium-based engine adds -- but most people won't care. Applications made for "consumers" tend to be made like a cheap car - corners are cut, the end result isn't pretty, but things in the category are what makes up 90% of ordinary use cases. Slack isn't meant to be open on your work machine while you're compiling code in the same way a Prius isn't meant to chauffeur top-level executives. It doesn't mean that the Prius is bad or unimportant - it will do far more for more people than the entire lineup of many luxury car brands. But I am damn sure that I'd rather be engineering a Bentley than a Prius. Edit: In the metaphor, luxury and performance are sacrificed, not efficiency. I probably should've used Fiat Chrysler, but unlike Fiat Chrysler, consumer-facing software has its place. I just don't enjoy working on it myself.
- danny_sf45 6y agoSure there are two types (or more?) of dependencies, but at the end of the day the AppSignal app requires those +13,000 dependencies in order to work properly (first to build it, and then to run it). That's horrendous.
- sitkack 6y agoHow many dependencies do we need to put food on the table? Perform a surgery? Or make an optically flat piece of glass? I believe all pieces of technology have similar dependency graphs.
- kqr 6y agoYou might be missing the point. A hospital in which surgeries are performed should hopefully already contain all dependencies required for a surgery. So when a new surgery is starting, the hospital staff should not need to run out and get more supplies. In the same way, the "dependencies" required to build my hardware aren't counted in that number. What counts is the extra stuff that isn't already part of the running system.
- sitkack 6y agoI had a totes badass response with [9] footnotes and backstory, an arc, with pull quotes and a heartfelt ending. I pulled it to post on medium for my sweet side hustle, you don't deserve my prose. Take your "quotes" and use them to run NixOS on OpenBSD.
- userbinator 6y agoThe referenced AppSignal post about 13,000 dependencies for a todo list is conflating dependencies required for the build tooling with dependencies that are actually bundled in to the web app. The point is that a dependency is a dependency, and making software needlessly complex in any way is bad. I've run into this a lot with open source stuff (not even JavaScript, just native code): I want to fix/modify something, and I know it's open-source, so it should be easy, right? After looking at the sprawling dependency tree, and the effort it would take to set up a build environment --- which might not even give me the same output as the original binaries, which are working perfectly fine except for the part I want to change --- I decide I'll just find the locations with a debugger and patch the binary directly. tl;dr: the complaint is equally valid when applied to build tools, which are themselves also software and becoming bloated.
- nicoburns 6y ago"Effort to set up a build environment" is pretty much exclusively a problem with C and C++ code. Pretty much every other language has standard build tooling. e.g. with JavaScript you can 'npm install' and you're set.
- deleted 6y ago[deleted]
- fsh 6y agoUnless of course the developer uses yarn or whatever npm alternative is popular this week. The last time I tried building an electron app, it just spit pages of dependency errors at me and I gave up.
- MaysonL 6y agoBack in the '70s I worked on machines with head-per-track disks. SSDs begin to bring that responsiveness back.