News for hackers. Stuff that matters.
Re:The full-time job of keeping up with Kubernetes by kakarot on Thursday February 01, 2018 @04:43PM (#16286211)
The most valuable skill is knowing when to externalize your tools. You don't always want to reinvent the wheel every time you need something, when you have deadlines to consider.
Re:The full-time job of keeping up with Kubernetes by islanderfun on Thursday February 01, 2018 @05:36PM (#16286609)
Exactly this. There's a ton of gray here. Have to pick your battles as best as you can.

Another example are game engines. Hard deny the value engines like Unreal and Unity provide. They are hard to ignore and have thousands of expert hours put into them.

Re:The full-time job of keeping up with Kubernetes by jstimpfle on Thursday February 01, 2018 @06:22PM (#16286908)
A good way to pick battles is not to fight most of them. There are so many solutions that don't have any real problems...
Re:The full-time job of keeping up with Kubernetes by paulryanrogers on Thursday February 01, 2018 @08:14PM (#16287543)
Could you provide an example of solutions without real problems, game engines or otherwise?
Re:The full-time job of keeping up with Kubernetes by jstimpfle on Thursday February 01, 2018 @08:50PM (#16287732)
Basically anything overengineered? Concrete example: C++ "manager" objects. Why not finally learn how to structure applications and keep allocations and resource use in check? The program will be so much simpler, compile quickly, be easy to understand (execution threads stop jumping around like crazy), and typically have less memory leaks / use-after-free etc.

RAII, garbage collectors and other fancy inventions for freeing resources from the call stack automatically? Not needed. Use global resource managers. Globals are needed and semantically the right thing. Not a problem.

Any crazy programming language with all the features they could conceive? The one you need is guaranteed to be missing. Better, express your problem yourself and write a simple generator script that translates your concepts (mostly as plain old data) to the minimal language.

Another: XML (and even JSON), possibly for anything except true document markup. It's slow and doesn't buy us anything. Yes, there are ready-to-use parsers, but after parsing you still hold a mess in your hands (and only strings / floats). Finally learn database basics and manage data in tuples. Make a text file parser that takes simple table (= list of column types) descriptions and then parses tuples from single lines and puts them as typed data in arrays of structs, done!

Re:The full-time job of keeping up with Kubernetes by ehsanu1 on Friday February 02, 2018 @01:14AM (#16288759)
How does a "global resource manager" work and in what way is it better than RAII and garbage collectors? Googling wasn't helpful.
Re:The full-time job of keeping up with Kubernetes by jstimpfle on Friday February 02, 2018 @03:10AM (#16289166)
Just global state. Simple example, a global variable that holds an allocated memory buffer. You initialize it at program startup and tear it down at the end (you can be sloppy and leave out the latter). While the program is running, you re-allocate as needed.

This is better in that it really is a very simple thing to do. There are no possible memory leaks. But what happens is much more explicit - you have precise control, and no bumpy control flow (much nicer for debugging).

But it doesn't have to be memory. If you want to look at my project https://github.com/jstimpfle/learn-opengl (careful - it's not tidied up. But I think it demonstrates my point), most resource state there is global module-wide state. I simply have init_module() and exit_module() pairs that I call from the main function. Problem solved. Not a headache at all.

Re:The full-time job of keeping up with Kubernetes by jstimpfle on Thursday February 01, 2018 @05:12PM (#16286423)
Is that in support of using the Boost filesystem API?
Re:The full-time job of keeping up with Kubernetes by VHRanger on Thursday February 01, 2018 @05:54PM (#16286738)
IMO, only if you're using g++ or older versions of the standard. MSVC, clang and ICC have all supported the experimental::filesystem module for years at this point.
Re:The full-time job of keeping up with Kubernetes by kakarot on Thursday February 01, 2018 @11:16PM (#16288364)
I don't use C++ outside of games programming, I'm not familiar with the Boost filesystem API.
Re:The full-time job of keeping up with Kubernetes by konschubert on Thursday February 01, 2018 @05:34PM (#16286596)
It depends on what you're doing with it, I'd guess.