129 karma · joined November 17, 2012
During the cold war all sorts of things were justified because they made sense from the perspective of US (governmental) interests. The Vietnam war, the Mujahideen, the toppling of free and democratic governments. In a "realist" framework, the ends justify the means. The "ends" and "means" here are considered from the point of view of the statesman.
When the world is viewed as a chessboard between competing nations, human beings outside the decision making centers suffer - we are reduced to being expendable resources, collateral damage, in the pursuit of "national" interests.
PS., not sure if you noticed, but some of your comments on this page are marked dead. I have no idea why this has been done to you.
Minor quibbles: 1) taking territory or being up on points are the same thing, and 2) in go there are many other things to optimize for besides territory/points - influence, shape, efficiency, and sente being examples of this.
[1]: https://en.wikipedia.org/wiki/Duhem%E2%80%93Quine_thesis
Certainly the Virtual DOM is one way to let you declaratively write to the DOM and not worry about change tracking yourself. But it's not the most efficient way.
Unfortunately this sort of thing has never been implemented in JavaScript (that I can find) so currently the Virtual DOM is probably our least worst choice, at the moment.
I imagine you could go through their codebase to try to see how far this has come along: https://github.com/ipfs/go-ipfs
According to this, it looks like the implementation is currently in progress: https://github.com/ipfs/go-ipfs/blob/master/dev.md
Hope something in there helps you.
Browsers have historically opted for hiding runtime management (debugging, etc) behind myriad APIs, most of which can't be accessed from the running program itself. I would love to see a cross-browser way to hook into these sorts of things without extensions or at least with standard APIs.
Overall this would be much better for us as coders. And this would open the way for all sorts of cool tools. Consider V8's live code reloading functionality. But imagine if it worked cross-browser and could be called from the program itself. Your webserver could send a signal over websocket, and you could perform hot-swapped deployments of your webpage, and all connected browsers would be updated. The browsers could be customers', or they could be inside that mobile device that's a pain to debug.
It would also be much easier to prototype new dev tools and ways of coding. For example, programming against Chrome's extensions APIs (as great as they are) is somewhat limiting - last I checked you lack direct access to the embedded CodeMirror editor for example. There are a lot of security-focused restrictions. So people workaround this. They rewrite editors and file managers from scratch so they can get the desired flexibility (lighttable, brackets, atom, etc).
Personally I love to see projects like MetaES because I feel like they are inching us closer to something that could be the next step.
MetaJS has some open issues - some related to the fact that it's intended to let you step through code, which I think makes certain interop scenarios difficult (let's say for example native code calls MetaJS code and expects a return value - it's not possible to set a MetaJS breakpoint there because the native runtime isn't paused).
I would be curious to know how MetaES fares under something like test262. I think a metacircular interpreter that does well in an extensive suite like that could indeed be a proper, "safe alternative to eval" (as suggested by another commenter).
I like this kind of stuff.
A particularly interesting take on this is tailspin, although the repo appears have been taken down: https://github.com/wthimbleby/tailspin That one offered a reversible JavaScript debugger written in JavaScript, which I thought that was very impressive from a technical standpoint.