| F# | C# | Scala | Clojure | Python | Ruby | Haskell | SQL | OCaml | Common Lisp | Erlang | Smalltalk | Scheme | Ecmascript 5 | Perl 5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| map | Select | map | map | map | collect | map | Select | map | mapcar | map | collect: | map | map | map |
| filter | Where | filter | filter | filter | select | filter | Where | filter | remove-if-not | filter | select: | filter | filter | grep |
| fold | Aggregate | foldLeft | reduce | reduce | inject | foldl |
| // `Object.make(..)` is a helper/wrapper for `Object.create(..)`. Both create a new | |
| // object, and optionally link that new object's `[[Prototype]]` chain to another object. | |
| // | |
| // But `Object.make(..)` makes sure the new object always has a `__proto__` property | |
| // (even a null one) and delegation to a `isPrototypeOf(..)` method, both of which are | |
| // missing from the bare object (aka "Dictionary") created by `Object.create(null)`. | |
| // | |
| // `isPrototypeOf()` is put on a extra object that your created object can delegate to, | |
| // if any only if you create an empty object (by not passing a `linkTo`) that otherwise | |
| // wouldn't have access to `isPrototypeOf()`. |
| var org = '<organization to fork to (or undefined>' | |
| var token = '<your token here>' | |
| function options(host) { | |
| return { | |
| host: host || undefined, | |
| auth: { | |
| type: 'oauth', | |
| token: token | |
| } |
I've had many people ask me questions about OpenTracing, often in relation to OpenZipkin. I've seen assertions about how it is vendor neutral and is the lock-in cure. This post is not a sanctioned, polished or otherwise muted view, rather what I personally think about what it is and is not, and what it helps and does not help with. Scroll to the very end if this is too long. Feel free to add a comment if I made any factual mistakes or you just want to add a comment.
OpenTracing is documentation and library interfaces for distributed tracing instrumentation. To be "OpenTracing" requires bundling its interfaces in your work, so that others can use it to time distributed operations with the same library.
OpenTracing interfaces are targeted to authors of instrumentation libraries, and those who want to collaborate with traces created by them. Ex something started a trace somewhere and I add a notable event to that trace. Structure logging was recently added to O
So, I was reading Why You shouldn’t use lodash anymore and use pure JavaScript instead, because once upon a time, I shifted from Underscore to Lodash, and I'm always on the lookout for the bestest JavaScript stdlib. At the same time, there was recently an interesting conversation on Twitter about how some of React's functionality can be easily implemented in modern vanilla JS. The code that came out of that was elegant and impressive, and so I have taken that as a message to ask if we really need the framework.
Unfortunately, it didn't start out well. After copy-pasting the ~100 lines of code that Lodash executes to perform a
find, there was then this shocking claim:
