JMESPath is a query language for JSON

The JMESPath language is described in an ABNF grammar with a complete specification. This ensures that the language syntax is precisely defined.

JMESPath has a full suite of data driven testcases. This ensures parity for multiple libraries, and makes it easy for developers to implement JMESPath in their language of choice.

Each JMESPath library passes a complete suite of compliance tests to ensure they work as intended. There are libraries in multiple languages including python, php, javascript and lua.

http://jmespath.org/

Advertisements

Promises are not neutral enough

Promises in JavaScript create problems which affect the entire ecosystem. In this blog post I’ll explain some of those problems.

The way this article starts might make you imagine that it was written by someone in a grumpy state of mind who, after several hours swearing at the computer, decided to rant about it on the internet. That’s not at all the case. I was just making my morning coffee in no hurry, when someone asked me on Twitter what is my opinion on Promises. I thought about it while sipping my coffee, then wrote a couple of tweets. Some people thought it would better presented as a blog post, so here we go!

The basic purpose of Promises is to represent a value that will be eventually available. It could become available in the next event loop or in the next minutes. There are many primitives that could accomplish this same purpose, e.g. callbacks, C# Tasks, Scala Futures, RxJS Observable, etc. JavaScript Promises are one type of primitive that solve the problem of programming with eventual values.

Even though they fulfill their purpose, JavaScript Promises are an opinionated primitive that introduce a lot of weirdness. This weirdness ends up spreading to other corners of the JavaScript language and ecosystem. Basically Promises are not neutral enough because they introduce 4 opinions:

  • Eager, not lazy
  • No cancellation
  • Never synchronous
  • then() is a mix of map() and flatMap()

https://staltz.com/promises-are-not-neutral-enough.html

Chiccocoin: Learn what is a Blockchain by creating one in NodeJS

Every day on our feeds we find news about new cryptocurrency or someone who says that they are a big bubble that will soon explode and of which only the blockchain will remain. But, what is the blockchain?

By definition:

Is a continuously growing list of records, called blocks, which are linked and secured using cryptography.

So, the blockchain is an immutable, sequential chain of records called Blocks. Each block can contain transactions, files or any data you like. The important thing is that they’re chained together using hashes.

Blockchains are secure by design and are an example of a distributed computing system with high Byzantine fault tolerance. This makes blockchains potentially suitable for the recording of events, medical records, and other records management activities, such as identity management, transaction processing or voting.

https://developers.caffeina.com/chiccocoin-learn-what-is-a-blockchain-by-creating-one-in-nodejs-12929a89208b

Rekit Studio: An IDE for React and Redux Development

We’re very excited to announce the stable release of Rekit Studio, a complete IDE for React, Redux and React Router development! Though it’s maybe new to some of you, it has helped us build complicated web apps for more than one year.

Rekit Studio

The previous version of Rekit Studio was Rekit Portal, which has no ability to edit code. Now thanks to Monaco Editor which also powers VS Code, and prettier, an amazing tool for formatting code, Rekit Studio provides great experience for coding. That’s also why we renamed it from ‘portal’ to ‘studio’.

As an IDE, besides code editing, Rekit Studio provides the capability of code generation, dependency diagram, refactoring, build, unit tests and a meaningful way of code navigation. You will no longer care about how to setup the project, config webpack or organize folder structure. Rekit Studio provides an integrated way to manage the project. That’s what makes Rekit Studio different from other code editors like Sublime Text, VS Code.

https://medium.com/@nate_wang/introducing-rekit-studio-a-real-ide-for-react-and-redux-development-baf0c99cb542

Maps in Flutter

At AppTree, we recently made the jump to Flutter to replace our existing iOS and Android applications. A major part of our application is mapping.

Flutter is still in alpha and as such, still has functional areas yet to be completely built out. However we find Flutter to be so useful that we prefer to fill any gaps ourselves rather than waiting to adopt it when it’s fully matured. Fortunately, the Flutter team has come up with a great solution by allowing early adopters to build plugins.

https://medium.com/@matthew.smith_66715/maps-in-flutter-a1ac49ab554b