Stuff Yaron Finds Interesting

Technology, Politics, Food, Finance, etc.

Going off chain for storage

It turns out that building a distributed database with ACID behavior (aka a block chain) isn’t easy, it requires a lot of code and a lot of processing. As a result block chains like Bitcoin can process around 4 transactions/second. A pretty slow pace for a globe spanning system. To work around this and other issues I explore below, we hear more and more about off block chain storage. But it turns out that if you store off the chain then you lose the chain’s ACID guarantees. In many cases that loss is fine but it does call into question if the use case that can leverage off chain storage really needs the chain at all.
[Update: Thank you to Shawn Cicoria for pointing out that my original price quote for storing a Gigabyte of data in Ethereum was off by a factor of 32. My mistake is that I did the calculations forgetting that the gas price is per Ethereum Word which is 32 bytes.]
Read More

How do we build apps for this wonderful mesh based Internet anyway?

Previously I waxed poetic about the amazing powers of Serval to create mesh based Internet infrastructure for developing and less developed countries (LDCs). The thesis being that if we had meshes of Wifi endpoints that could move data around without charge then people could have local applications on their smart phones that run peer to peer and could take advantage of this infrastructure. But how do we build those apps? That is where Thali comes in. But yes, we need more. See below.
Read More

Building local Internet infrastructure for disadvantaged communities

Smart phones are showing up in the poorest of countries. Even the Internet is showing up but it’s still quite expensive. But for a reasonable price we can deploy Wifi based local mesh infrastructures that can let people run applications on their smart phones and communicate locally with people around them. We have the technology! Below I explain what that technology is and why it’s all Serval's fault.
Read More

Serval and Thali

Serval is a project that wants to enable mobile phones to work no matter what. They have built mesh technology to let mobiles make voice calls as well as share data and have an app available on Android to use this technology. This is a technology that Thali could potentially really leverage. In the first section below I give a quick walk through of Serval. In the next section I compare and contrast Serval and Thali’s ways of solving similar problems. Then I conclude that hopefully we can reach a point where Thali just runs on top of Serval.
Read More

Thali, San Francisco and Emergency Response/Recovery

I went to SF to meet with folks from the city of SF to discuss how we could use Thali to help improve recovery after a major earthquake. The meeting was both productive and eye opening. Our next steps are to put together a proof of concept to hopefully use in a live trial later this year. Below is an explanation of the who, the what, the why and most interesting as a geek, the how. Technologies and emergencies don’t necessarily mix so we have to think hard about how to make things better, not worse.
Read More

node-gyp and node.js on mobile platforms

As I’ve previously discussed I want to get node.js running on Android, iOS and WinRT. But to make that happen we need to understand the node.js ecosystem and that includes native add-ons and node-gyp. So I created a node package, node-gyp-counter, to heuristically determine how frequent node-gyp usage is in the node.js world. If my numbers are right then less than 2% of downloads of packages in 4/2016 involved node-gyp in any way. Of that 2%, just 10 packages account for 76% of node-gyp root package downloads and only 5 of those are relevant to mobile.
[Updated with figures from 5/24/2016]

Read More

What is the Peer to Peer Web? WebRTC, the browser and Thali

Twice in the last week or so I’ve had people ask me about using WebRTC with Thali. I’ve already addressed WebRTC and Thali here. But recently Dominique Legault pointed me at a very cool project, freedom.js, that both explains why people keep bringing up WebRTC and helps us to really understand the question of - what is a peer to peer web and why does WebRTC in the browser not create it?
Read More