ORIGINAL ARTICLE HERE

Image for post
Image for post
Tonic

I don’t use Javascript frameworks, so React appeals to me. I like how it
organizes ideas. I like its top-down, one-way flow of data. But I also think
some of its usefulness is debatable. It has a big island of tooling that’s going
in a very different direction than the rest of the web. Like Coffeescript or
jQuery, in 5 years it will probably inspire standards bodies with its best
features.

I also like Web Components, they’re great because they offer true, native
encapsulation  —  no hacks. They are mostly the result of
consensus among the web’s working groups. But they’re awkward, and already feel outdated. …


Download it here.

Image for post
Image for post
Line numbers with output aligned.

There is also a Document window. This could be useful for doing things with canvas or D3 — where you want to see the changes reflected as they are made.


ES6 brings template literals, this means real multi-line strings, and expression interpolation! They’re implemented everywhere and you can use them today.

For me, a library is only worth using if it offers a least a 10x improvement over the current way of doing things.

I’ve written a lot of template libraries in the past, plates, weld, and most recently a lightweight replacement for jade/pug called mineral. I can safely say at this point I won’t be using these or any other template libraries.

HTML is a cow-path. Optimized for human error. It wasn’t designed with today’s use cases in mind. That’s why there are so many template libraries. But with these additions to JS, it’s easier to render and harder to justify adding a thousand lines or more of abstraction, non-trivial performance costs or dependency graphs. …


Out of the box, with clang, when you compile a program you get comprehensive stack traces for compile-time errors with lots of output options.

Compile-time debugging…

Here’s a simple vanilla example (short for the purpose of this demonstration)…

Image for post
Image for post

Not too bad. File, line number, column, error explanation. More complex errors will show more details as the stack unwinds. That’s all very straight forward, let’s move on…

Run-time debugging…

But what about run-time errors? What do they look like out of the box? Well here’s one…

Ugh, that’s not very useful. Something went wrong and it could have happened anywhere in the program! Well, it only takes a little code to make this situation a bit better. …


Image for post
Image for post

Why we need a conference for decentralized systems and protocols…

Distributed vs Decentralized

A distributed system is a network of computers that work toward a shared goal. This is basically a hub and spoke model, where most computers do some work and then communicate with a few, more important computers that act as the central system of record. Much of today’s systems are already distributed. An example of a distributed system is Facebook.

A decentralized system is where no one single computer in a network is more important than another one. I2p is a great example of a decentralized system. A lot of people haven’t heard of it. It’s not as easy to use as Facebook and you wont find its sites through Google. It’s a cryptographically secure internet within the internet. Every peer acts as a router. Traffic bounces around between available proxies. …


Image for post
Image for post
numbers are fun

Regarding the cost of I/O.

You’ve probably seen this slide entitled “The cost of I/O”. It’s really popular in Node.js presentations and articles. However, it’s a pretty narrow view of the big picture. This slide tells a short story; “do stuff in memory and then write it to disk, the network is expensive”.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store