Live data from Hacker News

Introducing Pow, a zero-configuration Rack server for Mac OS X

pow.cx

1–10 of 146 posts

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#2
Pow is a Node.js app written in CoffeeScript. It includes an HTTP and a DNS server and runs Rack apps by way of Josh Peek's Nack library: https://github.com/josh/nack

The screencast shows how it works and why we made it: http://get.pow.cx/media/screencast.mov

If you're interested, you can read the annotated source code, written in literate style and generated with the wonderful Docco: http://pow.cx/docs/

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#4

I do not much like this 'curl $random_url | sh' installation method. I am not going to be running some random script without looking long and hard at it first.

Completely understandable. That's why the installer source is fully documented and linked up for your review. http://get.pow.cx/

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#5

I do not much like this 'curl $random_url | sh' installation method. I am not going to be running some random script without looking long and hard at it first.

Why not just download it and then read it yourself? Do you enter your root password when installing some GUI applications?

At least in this instance you can read over the commands that will be run beforehand—in fact, Sam actively encourages you to do so.

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#6
This is a great web page, but I think it's borderline irresponsible to keep using this gimmick:

  curl get.pow.cx | sh
for installation. Yes, it's easy and slick. Yes, you'd have to read the code itself to make sure Pow didn't own your machine up after a secure install. Yes, you can just read the shell script. But 0.0001% of people playing with Pow will do that. Why make things easier for attackers at all?

This is an idea that I think started with Ximian back in 2000 and I think we're ready for it to die. It'd be neat if the authors of Pow were cool enough to strike it from their (otherwise amazing) front page.

(I'd also be happier if the thread where the guy explains how Pow works and what it's components are were voted higher than this comment.)

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#7

I do not much like this 'curl $random_url | sh' installation method. I am not going to be running some random script without looking long and hard at it first.

I don't understand how this is any different from running the application after you install it by whatever other method. Your shell doesn't have some higher level of access than most other software.

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#8
post #6

This is a great web page, but I think it's borderline irresponsible to keep using this gimmick: curl get.pow.cx | sh for installation. Yes, it's easy and slick. Yes, you'd have to read the code itself to make sure Pow didn't own your machine up after a secure install. Yes, you can just read the shell script. But 0.0001% of people playing with Pow will do that. Why make things easier for attackers at all? This is an i…

Why is this bad? I get why it seems offensive, but how is running a random shell script from some host any different than running some random software downloaded and installed from the same host? Anything malicious that the shell script could do could also be done by the software itself once installed, no? If they're from the same official source, why should one be considered more trustworthy than the other?

EDIT: Okay, I see it's because of the use of sudo. But graphical installers often require the root/administrator password, and could be equally destructive.

Re: Introducing Pow, a zero-configuration Rack server for Mac OS X

#9
Pow uses an interesting trick to get the *.dev urls resolving to localhost: it adds /etc/resolver/dev which acts as a resolv.conf for the .dev domain, and points to the nameserver at 127.0.0.1 port 20560. The Pow server binds to that port and acts like a nameserver for .dev domains.
Post reply on HN