Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Interesting point, but I think of it as teaching a man how to fish and giving him fish. If you read and understand this blog post,

1. You can write your own lib

2. You can spot bugs in other programs regarding privileges

3. You have an understanding of how privileges work and can transfer that knowledge to other programming languages/problems.

4. When you use a third party lib for, say dropping privileges, you can actually verify that they are doing it right because you actually understand what is going on and what is needed.



Consider the case where the blog post is not entirely correct. How do you tell everyone that cut-n-pasted the code from the blog to fix their apps?

You can't. At least with libraries, someone can report a bug or send a patch, and you can release a fixed version. Any reasonably competent developer will eventually notice the new version and upgrade the module. Problem fixed.

With a blog post, there is no reasonable way to push out new features, patches, bug fixes, security fixes, etc.


You are thinking in terms of code. I'm thinking in terms of knowledge.

What you should take away from the blog post is not the code. It is the knowledge. It has given a good starting point, on doing your own research. Just using a lib usually never leads to that.


Using a lib can get things done. Sometimes you have to get things done now and have to come back to understanding the problem in depth later.

Debugging through someone else's library is often a great way to do that. (Provided your language/environment's debugging support is good enough.)


Sometimes you have to get things done now and have to come back to understanding the problem in depth later.

This is a great way to create whole new problems.


Do you know every implementation detail of the database management system you use?

The fact that proprietary databases exist means that you can use libraries without understanding all the code in them.


You left out:

5. When the Ruby library for doing this is written and published, and you're trying to convince people to use it instead of rolling their own, you can refer them to this blog post.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: