News for hackers. Stuff that matters.
Re:Stop Filing Bugs, File a Container by sametmax on Thursday February 02, 2017 @07:20AM (#13550012)
Lol you react like most of us have software deployed in controlled environments.

I create Python libs that are used in so many various configurations by so many people I don't know. They come back and say "hey, I got this stack trace" (in the best case).

Now I have to play the guessing game. Is it me, is it you ? Wrong path ? Permission problem ? Bad conf ? Network is having trouble ? Server is this particular linux version and and there is something important about the SEL setup here ? Oh but upstart/systemd don't behave the same way. Output is redirected here look. Stuff is not the expected encoding. Na it was not a bug but you're file is corrupted. What the heck is this data format ?

Etc, etc.

You thing you though about every single thing ? Your error handling is perfect for all IO ? You deal with all encoding, all user inputs perfectly ? You know all the little OS peculiarities that will make your subprocess run in the exact way you think ?

Of course you don't, nobody is perfect, we don't have infinite resources. But there are infinite ways to fail.

And for many things, you can figure it out with with just your code base and the error because it's a simple cause. But from time to time arrive this terrible bug that is a mix between a strange LOCAL, this particular version of the VM you use but only in one time zone with this env variable set. And for that, yes, a good container with a reproducible bug in the proper env is an interesting idea.

Apparently, you don't ship software that is wildly used enough or you would not be that arrogant.

Deploying on your own 100 servers is hard. Try seing your code deployed on 1000 servers that you don't own, nor configure.

Re:Stop Filing Bugs, File a Container by contingencies on Thursday February 02, 2017 @08:26AM (#13550316)
I'm trying to help point you in the right direction based on my own experience, not be arrogant. It sounds like you would get a lot out of spending some time working on CI/CD concepts.

In short throwing your hands up in frustration at the complexity of software is not a solution and gets you nowhere. The way we deal with "infinite ways to fail" is to control the environment. These days, quality projects are expected to version control their environments and conduct test deployments within a representative set of environments using a representative set of configurations.

Docker provides an easy way to do this ("always deploy on <distro>-<os>-<version>"), but it's only one approach. Another free and relatively straightforward place to start getting up to speed would be automating build and test processes with Travis CI for an open source project.

Deploying to any number of tested environments is trivial.

Re:Stop Filing Bugs, File a Container by sametmax on Thursday February 02, 2017 @08:43AM (#13550401)
You are completly missing the point.

If you create a Python lib, 10000 people will pip install it. You have no control on the env.

If you create a deb package, you will see ppa and it will be installed on many various env. You have no control on the env.

Again, you definitely have no experience in shipping software outside of your bubble.

A lib is not "a web project". A cmd line tools is not either. You still need to debug them. People will run them on windows, linux, mac, bsd, and who knows where. And they will come for you.

Now you can choose to simplify the problem and only support a limited number of env. But I guess I'm quite happy the guys who created apache, ffmpeg didn't force me to only used them on Linux with LOCALE set to accept only ascii and CEST.

Re:Stop Filing Bugs, File a Container by contingencies on Thursday February 02, 2017 @09:20AM (#13550627)
No. As I said, in these cases you use a CI tool to test on a broad range of environments.

For example, here is a library I maintain with 12,000+ installs per month that is tested on 7 different environments every commit using Travis: https://github.com/globalcitizen/php-iban

Re:Stop Filing Bugs, File a Container by sametmax on Thursday February 02, 2017 @10:57AM (#13551395)
7 env. LOL.

Don't get me wrong. It's a good thing. Most people I know don't even have unit tests. Having a CI is fantastic. 7 env is more than a lot of people do.

But that doesn't even scratch the surface of the combinations of factors you can get. It can't.

You can't install all the locals, all the lib versions, simulate all network conditions and all user inputs.

You will get strange bugs that your CI didn't take in consideration. And some of them will be very hard to reproduce. That's just a fact.

Now knowing you do have all this setup I just can't understand we still disagree. It's impossible you didn't run in those.