One thing I noticed is how often the COS function was implemented in various libraries. That made me wonder why! Is there some secret I missed in math and the relationship of the Cartesian element of an angled element is different in different context? I think not, in fact, I know it is not. I have 2 gigabytes of ram and terabytes of storage, but this seems almost a Windows like thing to do. Software bloat to sell ever faster machines each year. I understand that this mechanism is responsible for the sustained growth in computing power, but now it is time to think about new ways to sustain the growth of computing power and utility. Open source should lead the way on this as the mechanics of business is such that they must operate on a cycle that is consistent and profitable immediately.
Humanity as a whole profits much more by the distributed knowledge and utility of knowledge systems. It is more of a necessity and infrastructure than a commodity to be controlled and moderated at the expense of perhaps the survival of humanity itself.
A quote from dwheeler.com
Special functions _init and _fini (OBSOLETE/DANGEROUS). Historically there have been two special functions, _init and _fini that can be used to control constructors and destructors. However, they are obsolete, and their use can lead to unpredicatable results. Your libraries should not use these; use the function attributes constructor and destructor above instead.
I take this to mean that the below command ("nm") would come up NULL in a perfect world , but it does not. I have looked behind the broken windows many times as I wrote device drivers and quite often the failure of a specific function would be due to a flaw inside windows or some race condition, or change of function without change of spec. I can say that Windows libraries are a can of worms. Linux is very much better and of course well documented. Every Linux programmer is not a GURU and many of the lesser used programs or those that have been orphaned have some odd stuff. The core of Linux is well maintained, but things like this will tell you some interesting things about the skill level and experience of the people who implement some utilities.
I don't claim to be a Linux Uber Guru, but I am beginning to see the key elements here and much like schools, people can be lead astray by their teachers good intentions and failure to master their subject. The knowledge of these systems does not come cheap and I have certainly invested several thousand hours of my life to knowing and understanding how computers works at a level of detail from gate to networked systems. I imagine very few people master all the intricacies of all of these inter related things, though I think Linux himself does. He spoke of the people he trusts to understand their work but I would say that his ability to identify who is trustworthy comes from a deep understanding of the overall structure.
nm -o /lib/* /usr/lib/* /usr/lib/*/* \ /usr/local/lib/* 2> /dev/null | grep ' _init$'
void _init(void); void _fini(void);
0 comments:
Post a Comment