10 ms·
Show HN: Turn NPM installs into a Space Invaders style game in your terminal
- ericwood 11y agoI love the idea of user interfaces that provide little distractions from long-running (usually unavoidable) tasks. It's silly, but the right kind of silly. I recently purchased a Korg Minilogue analog synthesizer. Because of the instability of analog oscillators it has to go through a tuning procedure when it's first powered on (which can take around 20sec). They included a little game of breakout to help pass the time, though :) https://www.youtube.com/watch?v=LDWv-KgzMXM https://www.youtube.com/watch?v=LDWv-KgzMXM
- stephenr 11y ago> I love the idea of user interfaces that provide little distractions from long-running (usually unavoidable) tasks. Something like a java/c/etc compile on a large project is an unavoidable delay. And yet those tools don't offer to jingle some keys for you to make you feel like its quicker. They just do what they can to make the process as quick as possible. Installation of packages that don't require compilation (e.g. decompressing files, moving them and possibly running some simple tasks) is not unavoidably slow. NPM is just a terrible package manager, and the community is in some kind of munchausen situation.
- marshray 11y agoAs an old boss of mine put it once: "What this means to users is that there are no bugs in the program."
- deleted 11y ago[deleted]
- Khao 11y agoFeels like this "do [x] while npm install is running" silly project is turning into a running gag. Why not fix the issues with NPM install that makes it extremely slow instead? Not saying that people shouldn't make things just for fun, but when you've got 10 different projects around the idea that NPM install is slow and you should do play a game or watch silly gifs while it's installing, maybe the time would have been better spend fixing the problem.
- zepolen 11y agoYou can't fix fundamentally flawed systems.
- massivedragon 11y agoYou're right, it's a joke. I was chatting to a colleague about how long his installs took to run and I thought having a game where you shoot all the packages that are installing would poke fun at the fact that you're probably installing way too many packages. I agree, fixing the problem would have been better, though probably harder and definitely less enjoyable.
- sillysaurus3 11y agoThis is awesome. Thanks!
- eric_h 11y agoI think it's an effective satire on the existing implementations of the gag.
- pori 11y agoIt definitely would be better to just solve the problem. This is classic result of an OSS community responding to a problem with complaints or new, unrelated/irrelevant projects. Yet, being OSS, we have the means to fix it. To be quite frank, I am not an expert in npm's underlying architecture. But this post has inspired me to actually do some research. The fact that there is an alternate package manager shows there is a huge problem.
- teddyh 11y agoIt’s Invade-a-Load all over again! https://en.wikipedia.org/wiki/Invade-a-Load https://en.wikipedia.org/wiki/Invade-a-Load
- massivedragon 11y agoOh that's fantastic! I'm afraid I'm probably too young to have known about that, but it's obvious I was wrong when I thought I was being original!
- andrewstuart2 11y agoFeature request: Only install dependencies once you've blasted them.
- _Marak_ 11y agoIf you are tired of waiting for NPM, I'd suggest checking out the `ied` alternative: https://github.com/alexanderGugel/ied https://github.com/alexanderGugel/ied To give some perspective, I'm dealing with systems that install npm packages at scale. NPM3 has had way too many show stopping bugs for us. The delays in installation time compound when dealing with thousands of packages, pretty much causing package installation to fail ( take forever ).
- fibo 11y agoTry to set npm set progress=false it speeds up installation time. I am also approaching an alternative solution, to put dev deps in another package.json, then do something like npm install src/dev where src/dev is a folder that contains a package.json with dev deps only when you are developing.
- orf 11y agoisn't that what devDependencies is for?
- deleted 11y ago[deleted]
- nathancahill 11y ago"npm install" installs devDependencies too. You can do "npm install --production" to skip them.
- untog 11y agoWhile progress=false does decrease install time a little, it's still very long. And the output is incredibly verbose - I'm doing something similar to the OP in automating builds of Node apps and npm is easily the biggest headache in the process. BTW, "npm install --production" installs all dependencies but not devDependencies (which you can get by doing "npm install --save-dev <package>"). That way you can separate dev and prod dependencies within the same package.json file. Feels a little backwards that you specify dev on module install but prod on app install. Maybe --production being the default and --dev being an option makes more sense, but that would be one hell of a breaking change.
- Swizec 11y agoOh man I needed this yesterday. Was doing some livecoding, stupidly decided to run npm install, and there was dead air for waaaaaay too long. This would've been perfect.
- flashman 11y agoLoading screen minigames were under a Namco patent until last year: http://gamasutra.com/blogs/DavidHoppe/20150109/233806/2015_The_Year_We_Get_Loading_Screen_MiniGames_Back.php http://gamasutra.com/blogs/DavidHoppe/20150109/233806/2015_T...
- spartanatreyu 11y agoI wonder if the patent would have covered this since it's not "loading", it's installing.
- juanca 11y agoSteam should bring back mini games between friends.
- z1mm32m4n 11y ago> Uh oh. Looks like you failed to install any packages. > Have you tried just mashing the spacebar? Gave me a good chuckle XD
- cat-dev-null 11y agoNifty. This cool "arms race" cannot go unanswered, it demands Ruby gem-install-pac-man. ;) ᗧ ・・・・️・・・・ and: ᗣᗢᗤ┏┗┓┛┣┫┻╋┳┃━ Also: Alien monster https://duckduckgo.com/?q=U%2B1F47E https://duckduckgo.com/?q=U%2B1F47E