thequux
Joined 17 years ago
Joined 17 years ago
On the other hand, if you want to have a say in how other registries are run, then consider joining an at-large structure (ALS) local to you or the Non-Commercial Stakeholders Group: https://www.icann.org/resources/pages/civil-society
In the 1%, though, you'll have needs that malloc/free don't fit. Complex object graphs don't really have a single point of ownership or requiring that you free something in all the places that it might be released is too much to handle. In this case you can reach for a garbage collector (including, for example, implementing reference counting). Other times, you may need to make a lot of allocations in a short time where they can all be freed at once. Request processing in a network server is a common example of this: once the request is complete, everything allocated can be dropped, and you generally want minimal latency.
All of this comes with tradeoffs, though. With a GC, you lose predictability and performance changes; sometimes for the better and sometimes for the worse. Depending on the GC, you may not be able to have stable pointers, and you may lose the ability to finalize objects. With an arena, you can't free or reallocate, so you need to scope the arena to a small region of execution (this is where the author went wrong, for example).
Finally, regardless of which approach you use, you're going to need to thread the allocator through the application; probably implement your own datastructures, etc. Depending on how complex your memory management model is, you may need more than one allocator at any given point (e.g., a GC for the persistent data and an arena per connection and per request). If you're implementing your own allocator, you'll also likely have bugs, and allocator bugs tend to be insidious and obnoxious to debug.
If you can avoid going down that route, I recommend it. Sometimes, though, you have enough constraints that you need to brave the jungle.
I'll grant that it seemed like a decent idea at the time, but there was enough risk there that I can only describe Intel's all-in stance on Itanium to have been a blunder.
(There's a worthwhile distinction to be made between a blunder and a mistake. Mistakes are calculated risks that don't pan out, whereas a blunders is something that should have been obvious that it would go poorly when the decision was made. Losing your savings in the stock market from a surprise dip is a mistake. Losing your savings by betting it all on 14 in Vegas is a blunder. Similarly, the design of Itanium was a mistake. Betting the company on it was a blunder.)
It wasn't until I got a nice notebook from Leuchtturm 1917, though, that the ensemble came together and I started looking for excuses to get my kit out and write things down. Since then, I've moved onto notebooks from de Kempen, but the point stands
Considering that everything I have personal knowledge of here is obviously bunk, best ignore the rest of it too
So, what TSRs would do is overwrite one or more interrupts to point to a routine that would check if the system call in question was one it wanted to handle (eg, to add a hotkey it would grab the keyboard handler and check for a special set of keys before passing control back to the normal handler). Once that was fine, it would call the TSR system call and control would be passed back to the OS with the hook still in place
I kid, of course, but "X is x + 5" brings Prolog to mind with all the unification and bidirectionality that implies.
Legally speaking, the Southern District of New York can say whatever it likes, and Libera, Sweden, India, St-Pierre-et-Miquelon, Greenland, Switzerland, Pakistan, Grenada, and the British Virgin Islands are free to ignore what the US says. They all have national sovereignty over their respective ccTLDs, and of them, most are not going to simply accept the US telling them what to do considering recent geopolitical missteps.
Source: I'm on the board of dotMeow and wrote the financial plan
It's quite late here in Belgium, so I'm about to go to sleep, but in the morning, I'll happily answer any questions people have about the project.