This would undoubtedly be wildly unethical, but those people should have been recorded and played back to anyone who refused vaccinations, for any disease really.
namingthingsiseasy
Ubuntu is doing stupid things with packages, replacing them with their proprietary packaging system (called Snap). It has been controversial, the way that they are pushing it, especially since the Snap server is proprietary and non-open source.
A lot of people won't consider using Ubuntu at all for this reason alone, and it makes sense - when you consider that there are so many other distros to choose from these days, Ubuntu just doesn't really provide a whole lot of added value anymore.
and that the parents were universally obnoxious and resistant.
Wow, I would have never guessed....
(/s, obviously)
I've seen even worse! Sticky headers with sticky sidebars on both sides. Only about 10-15% of the viewport was left for content. And this is for documentation, so you can only read about 100-200 words at once.
Why even bother having a webpage at that point. Just make the whole thing a non-interactive .png file.
Sticky headers. Unbearably distracting.
Also, wasted space and a lack of information density.
100% agree. But I like posting articles like these because it brings me back to how I learned programming, and Linux specifically - namely by reading a bunch of articles from similar link aggregators and sharing sites.
My hope is that sharing articles like these is a form of planting the seeds for another cycle for people to learn the way that I did.
I just disabled this today and life is so much better. Thanks! Everything works so much better now.
There are a lot of other helpful replies in this thread, so I won't add much, but I did find this reference, which you could read if you have a lot of free time. But I particularly liked reading this summary:
- _start calls the libc __libc_start_main;
- __libc_start_main calls the executable __libc_csu_init (statically-linked part of the libc);
- __libc_csu_init calls the executable constructors (and other initialisatios);
- __libc_start_main calls the executable main();
- __libc_start_main calls the executable exit().
Reserving main
is definitely more hacky. Try compiling multiple objects with main
defined into a single binary - it won't go well. This can make a lot of testing libraries rather convoluted, since some want to write their own main
while others want you to write it because require all kinds of macros or whatever.
On the other hand, if __name__ == "__main__"
very gracefully supports having multiple entrypoints in a single module as well as derivative libraries.
Is it? I really don't think so. What can you propose that's better? I think if __name__ == __main__
works perfectly fine and can't really think of anything that would be better.
And you don't have to use it either if you don't want to anyway, so no, I don't think it's that much of a hack. Especially when the comic compares C as an example, which makes no sense to me whatsoever.
Can you put some milk on the algorithm please?
The lesson learned (in my opinion) is that if you're going to design a language where errors need to be handled explicitly, you need to design the language from the ground up to support monadic error handling syntax. At this point, it seems too late to add it to Golang. What a shame - it could have been so much better of a language without this flaw.