bd_at_rivenhill
Joined 17 years ago
Joined 17 years ago
So you may end up with penalties and interest, but you have a high probability of avoiding prison absent doing something stupid like trading emails with your broker on how you plan to evade taxes.
Instead of dumping a bunch of new reporting requirements on everybody, it should be pretty simple: increase the amount of equity capital that needs to be held against debt (i.e. force a decrease in leverage) and change the accounting rules so shit that could blow up the company by some mechanism has to show up on the balance sheet. However, the current system creates a lot more work for lawyers, accountants and bureaucrats so it seems unlikely to be simplified anytime soon.
I beg to differ on this, I've been using OpenSCAD for a couple of years now, and the two most complicated designs I have done were for a dual drive robot base and a simple 3-axis CNC machine. Many of the parts were COTS (which I built modules for) and the rest were designed for these projects, including some parts which were sent directly to my 3D printer. In doing this, I've been developing various functions and modules that simplify common operations such as attaching two separate parts and using difference to form a free fit hole for a specific type of screw. I find this to be much easier than clicking on dimensions in a sketch, but this is because I have all of the mental habits developed by learning to build complex software.
First of all, the default Java policy of terminating the thread, instead of the process, when a runtime exception is not handled is fully boneheaded and the first thing you should always do in a server program is to set a default uncaught exception handler which kills the program. Much better to flame out spectacularly than to limp along with your fingers crossed hoping for the best, as this bug amply demonstrates.
On the heels of that, there's this: "Unfortunately, that means the heartbeat mechanisms would continue to run as well, deceiving the followers into thinking that the leader is healthy." Major rookie mistake here; the heartbeat should be generated by the same code (e.g. polling loop) which does the actual work, or should be conditioned on the progress of such work. There's no indication that ZooKeeper is bad enough to have a separate thread whose only responsibility is to periodically generate the heartbeat (a shockingly common implementation choice), but it is clearly not monitoring the health of the program effectively.
Suffering a kernel level bug is outside the control of a program, but this demonstrates a lack of diligence or experience in applying the appropriate safety mechanisms to construct a properly functioning component of a distributed system.