grpc / The state of gRPC in the browser
In this post, I’ll describe some of the history of gRPC in the browser, explore the state of the world today, and share some thoughts on the future.
grpc  rpc 
11 days ago
Introduction - Rust and WebAssembly
This small book describes how to use Rust and WebAssembly together.
rust  wasm  books  learning 
20 days ago
MIT 6.875 (Cryptography), Spring 2018
This is a video recording of the Spring 2018 version of the class,
courses  MIT  learning  cryptography 
4 weeks ago
Huego: an extensive Philips Hue client library for Go
An extensive Philips Hue client library for Go with an emphasis on simplicity. It is designed to be clean, unbloated and extensible. With Huego you can interact with any Philips Hue bridge and its resources including Lights, Groups, Scenes, Sensors, Rules, Schedules, Resourcelinks, Capabilities and Configuration .
PhilipsHue  golang  smarthome 
6 weeks ago
Automagical HTTPS with Docker and Go
It all starts with the acme/autocert package.
docker  golang  https  tls 
6 weeks ago
HTTPS in the real world | Robert Heaton
a good read about how HTTPS/TLS works from an operational point of view
encryption  https  tls  primer 
6 weeks ago
A tool for managing JavaScript projects with multiple packages.
JavaScript  packagemanagement  npm  git 
7 weeks ago
Website Style Guide Resources
Real life pattern libraries, code standards documents and content style guides.
design  reference  styleguide  ux 
9 weeks ago
Dynamic Users with systemd
TL;DR: you may now configure systemd to dynamically allocate a UNIX user ID for service processes when it starts them and release it when it stops them. It's pretty secure, mixes well with transient services, socket activated services and service templating.
systemd  unix  linux 
october 2018
The Illustrated TLS Connection: Every Byte Explained
Every byte of a TLS connection explained and reproduced.
http  networking  tls  primer  visualisation 
october 2018
The History of Philosophy
A summary of the history of philosophy showing the positive/negative connections between ideas
philosophy  history  visualisation 
october 2018
How to Leverage Libp2p for Blockchain Applications
Chris Pacia takes a deep dive into libp2p, a modular networking stack written by the IPFS team, and explains how it solves the common challenges. He walks through an example atomic swap app which builds on libp2p.
talks  libp2p 
october 2018
The spiped secure pipe daemon
Spiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses, so that one may connect to one address (e.g., a UNIX socket on localhost) and transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to 'ssh -L' functionality, but does not use SSH and requires a pre-shared symmetric key.
security  encryption  tunnel  ssh 
october 2018
Port of TweetNaCl / NaCl to JavaScript for modern browsers and Node.js. Public domain.

The primary goal of this project is to produce a translation of TweetNaCl to JavaScript which is as close as possible to the original C implementation, plus a thin layer of idiomatic high-level API on top of it.
NaCl  security  JavaScript  cryptography 
september 2018
The pioneer’s guide to GX — decentralized dependency management on IPFS
a brief introduction to using the decentralized package manager GX (specifically the Golang implementation, gx-go) to distribute your code and manage your code dependencies over IPFS
ipfs  gx  packagemanagement  gx-go  golang 
september 2018
Introducing Cloudflare’s IPFS Gateway
What can you do with Cloudflare’s Gateway?

At the most basic level, you can access any of the billions of files stored on IPFS from your browser. But that’s not the only cool thing you can do. Using Cloudflare’s gateway, you can also build a website that’s hosted entirely on IPFS, but still available to your users at a custom domain name. Plus, we’ll issue any website connected to our gateway a free SSL certificate, ensuring that each website connected to Cloudflare's gateway is secure from snooping and manipulation.
ipfs  cloudflare 
september 2018
Circuit Relay (libp2p SPEC)
Circuit Switching for libp2p, also known as TURN or Relay in Networking literature.
libp2p  p2p  ipfs  networking  TURN  relay 
september 2018
What’s really happening when you add a file to IPFS?
From raw data to Merkle DAGs and a few steps in between
ipfs  primer  dag 
august 2018
IOCipher is the antidote to “Man-in-the-Disk” attack
IOCipher provides a virtual encrypted disk for Android apps without requiring the device to be rooted. It uses a clone of the standard java.io API for working with files, so developers already know how to use it.
android  security  encryption  mobile 
august 2018
A Detailed Look at RFC 8446 (a.k.a. TLS 1.3)
This article provides a deep dive into the changes introduced in TLS 1.3 and its impact on the future of internet security.
tls  encryption  security  http  internet  RFC  https  primer 
august 2018
IPFS Live Streaming
We will document here the components and processes necessary to run live streams throughout the conference and archive the video assets on the IPFS network, that is suitable for a small conference with an audience size of less than 100 people.
HLS  streaming  IPFS 
august 2018
Digital Psychology
Digital Psychology – a free library of psychological principles and examples for inspiration to enhance the customer experience and connect with your users.
psychology  design  usability  darkpatterns  ux 
august 2018
BLeak: Automatically debug memory leaks in web applications
BLeak automatically locates, ranks, and diagnoses memory leaks in client-side web applications.
webdev  JavaScript  debug  memory 
august 2018
The Road to QUIC
QUIC (Quick UDP Internet Connections) is a new encrypted-by-default Internet transport protocol, that provides a number of improvements designed to accelerate HTTP traffic as well as make it more secure, with the intended goal of eventually replacing TCP and TLS on the web. In this blog post we are going to outline some of the key features of QUIC and how they benefit the web, and also some of the challenges of supporting this radical new protocol.
august 2018
SF Privately Owned Public Open Spaces
POPOS are publicly accessible spaces in forms of plazas, terraces, atriums, small parks, and even snippets which are provided and maintained by private developers. In San Francisco, POPOS mostly appear in the Downtown office district area.
SanFrancisco  cowork  travel 
july 2018
Permanent Docker Images On IPFS
A little known feature of Docker is the ability to dump images into a tar file, and then load them back into the system. This can be accomplished with docker load, and docker save. This makes it very easy to use docker without any dependency on a registry.
docker  ipfs 
july 2018
Interplanetary telemetry compression · Rüdiger's Blog
You have large quantities of telemetry or other simply structured JSON data. You want to store it on IPFS in a very space efficient way. Then this is for you.
ipfs  telemetry  metrics  datastructures 
june 2018
Record, Replay, and Stub HTTP Interactions.
http  netflix  testing  JavaScript 
june 2018
A cartoon intro to DNS over HTTPS – Mozilla Hacks – the Web developer blog
So let’s look at how DNS over HTTPS and Trusted Recursive Resolver protect our users.
dns  http  internet  networking  primer  learning  mozilla 
june 2018
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
JavaScript  debug  node.js 
may 2018
A CRDT Primer Part II: Convergent CRDTs · An Abstract Plane
In this post, we’ll look at CvRDTs in detail, starting with how they work in general before implementing a simple example of a grow-only distributed counter.
may 2018
A CRDT Primer Part I: Defanging Order Theory · An Abstract Plane
In this post, I’m going to start from the familiar elements constituting a join semi-lattice and build up to the complete concept. In the next post, I’ll explain how state-based CRDTs work, relying on the lessons we’ve learned from order theory.
CRDT  primer  datastructures 
may 2018
WebSub Hub for IPFS
This is a WebSub (previously known as PuSH, PSHB, or PubSubHubbub) hub for all content on IPFS published under a dnslink or IPNS hash. It accepts hub.topic of IPNS NURI, or a URI with any scheme (including http, https) where the domain name has a published dnslink to an IPFS resource.
may 2018
leaktest - Goroutine Leak Detector
Refactored, tested variant of the goroutine leak detector found in both net/http tests and the cockroachdb source tree.
may 2018
Top 10 Things You Can Do With GraalVM – graalvm – Medium
GraalVM is a universal virtual machine for running applications written in JavaScript, Python 3, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.

GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.
jvm  java  vm  Programming  GraalVM 
may 2018
mmproxy - Creative Linux routing to preserve client IP addresses in L7 proxies
mmproxy, a PROXY protocol gateway. mmproxy listens for remote connections coming from an application level load balancer, and spoofs the client IP address. From the application’s point of view, this spoofed connection, coming through mmproxy, is indistinguishable from a real one, connecting directly to the application.
proxy  cloudflare 
april 2018
vizceral is a component for displaying traffic data on a webgl canvas. If a graph of nodes and edges with data about traffic volume is provided, it will render a traffic graph animating the connection volume between nodes.
visualisation  graphs  webGL  canvas 
april 2018
Jepsen: Distributed Systems Safety Research
Jepsen is an effort to improve the safety of distributed databases, queues, consensus systems, etc. We maintain an open source software library for systems testing, as well as blog posts and conference talks exploring particular systems' failure modes.
database  distributed  performance  testing  nosql 
april 2018
mitmproxy - an interactive HTTPS proxy
mitmproxy is your swiss-army knife for debugging, testing, privacy measurements, and penetration testing. It can be used to intercept, inspect, modify and replay web traffic such as HTTP/1, HTTP/2, WebSockets, or any other SSL/TLS-protected protocols.

You can prettify and decode a variety of message types ranging from HTML to Protobuf, intercept specific messages on-the-fly, modify them before they reach their destination, and replay them to a client or server later on.
cli  http  mitm  proxy  tls  debug  webdev  https  pentest 
april 2018
Ceph - a distributed data storage system
a free-software storage platform, implements object storage on a single distributed computer cluster, and provides interfaces for object-, block- and file-level storage.

Ceph aims primarily for completely distributed operation without a single point of failure, scalable to the exabyte level, and freely available.
storage  distributed  distributedsystems  filesystem 
april 2018
- A really simple way to move a stand-alone function/class to a worker thread.
- All calls are made asynchronous. Works great with async/await.
- Only 1.01kB gzipped.
JavaScript  WebWorkers 
april 2018
Rough.js is a light weight (~8k), Canvas based library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths.
SVG  canvas  sketchy  drawing 
april 2018
Data Laced with History: Causal Trees & Operational CRDTs
If I could figure out a way to develop auto-merging documents, I’d be able to implement sync and collaboration in my apps over CloudKit while using Apple’s first-party sharing UI—all without having to pay for or manage my own servers. So this became my ultimate research goal: a collaborative iPhone text editing demo that synced entirely over CloudKit. (And here’s a spoiler: it worked!)
CRDT  datastructures  computerscience  algorithm 
april 2018
Advanced Operating Systems | Udacity
In this course, we will see all the advances that have led to the state-of-the-art operating system that we know today, covering variety of platforms -- cell phones, multi-core, parallel systems, distributed systems, and cloud computing.
learning  courses 
march 2018
Version SAT
Dependency hell is NP-complete. But maybe we can climb out.
algorithms  versioning  SAT  dependencyManagement 
march 2018
Paradigm shifts for the decentralized Web | Ruben Verborgh
As separate markets for data and apps emerge, Web development needs to adopt a new shape.
distributedsystems  dweb  decentralization  architecture  webdev 
march 2018
CQRS Documents by Greg Young
Greg Young created a fantastic PDF document on CQRS that has been around the internet for quite some time.
CQRS  primer 
march 2018
IPFS: The Decentralized Web Primer
This primer contains a series of Tutorials explaining IPFS, Merkle Trees and the Decentralized Web. It's written and maintained as a gitbook so people can read it in many formats.
ipfs  primer  dapps  p2p  learning  books 
march 2018
Quantum Algorithm Zoo
The Quantum Algorithm Zoo maintains a catalog of all known quantum algorithms – and there are a lot of them! For each algorithm you get the name, speedup, and a short description.
algorithm  quantumcomputing 
march 2018
How to Subvert Backdoored Encryption: Security Against Adversaries that Decrypt All Ciphertexts
Parties cannot simply encrypt ciphertexts of some other encryption scheme, because citizens caught trying to communicate outside the government’s knowledge (e.g. by encrypting strings which do not appear to be natural language plaintexts) will be arrested. The one guarantee we suppose is that the government mandates an encryption scheme which is semantically secure against outsiders: a perhaps reasonable supposition when a government might consider it advantageous to secure its people’s communication against foreign entities.
But then, what good is semantic security against an adversary that holds all the keys and has the power to decrypt?

We show that even in the pessimistic scenario described, citizens can communicate securely and undetectably.
papers  encryption  backdoor  surveillance  steganography  communication 
february 2018
What can a technologist do about climate change? A personal view.
“How do you think the tech community (startup community, or any community) can contribute to tech and/or policy solutions on a global scale?”

The notes below are my attempt to answer that question.
energy  technology  ClimateChange  primer 
february 2018
Feature Visualization
How neural networks build up their understanding of images
ai  deeplearning  machinelearning  visualization  primer  learning  neuralnetworks 
february 2018
MetaMask Hackathon Guide – MetaMask
If you’re new to developing for Ethereum and MetaMask, it can be a daunting task! To make things easier, I’m keeping this article up to date with some useful tips for the first-timer!
MetaMask  Web3  ethereum  primer  tutorial 
february 2018
Introduction to libp2p – Keep Network
Libp2p abstracts the mess of protocols we need to deal with in a decentralized context into a single protocol and handles the punching out of unfriendly networks, negotiating with a variety of gateways, and then effectively connecting with many, many peers.
libp2p  ipfs  p2p  distributedsystems 
february 2018
Inter UI font family
Inter UI is a font for highly legible text on computer screens.
font  typography 
january 2018
Zstandard - Real-time data compression algorithm
Zstandard is a real-time compression algorithm, providing high compression ratios. It offers a very wide range of compression / speed trade-off, while being backed by a very fast decoder (see benchmarks below). It also offers a special mode for small data, called dictionary compression, and can create dictionaries from any sample set. Zstandard library is provided as open source software using a BSD license.
algorithm  compression  zstd  Zstandard  performance 
january 2018
Majority is not Enough: Bitcoin Mining is Vulnerable
We show that the Bitcoin mining protocol is not incentive-compatible.
We present an attack with which colluding miners obtain a revenue larger
than their fair share.
january 2018
Richardson Maturity Model: steps toward the glory of REST
A model (developed by Leonard Richardson) that breaks down the principal elements of a REST approach into three steps. These introduce resources, http verbs, and hypermedia controls.
http  rest  api 
december 2017
Speedment is a Stream ORM Java Toolkit and Runtime
The toolkit analyzes the metadata of an existing legacy SQL database and creates a Java representation of the data model which together with the Speedment runtime allows the user to create scalable and efficient Java applications using standard Java 8 streams without any specific query language or any new API.
java8  java  database  DSL  functional  streaming  ORM 
december 2017
Understanding Ethereum Smart Contracts - Gjermund Bjaanes
This post explains how smart contracts work on the Ethereum Blockchain.

Some technical details in this post are slightly simplified for the sake of clarity, but the concepts are valid.
ethereum  blockchain  smartContracts  primer  learning 
november 2017
Ratpack: Lean & powerful HTTP apps for the JVM
Ratpack is a set of Java libraries for building modern HTTP applications.

It provides just enough for writing practical, high performance, apps.

It is built on Java 8, Netty and reactive principles.
framework  http  java  reactive  netty  jvm 
november 2017
« earlier      
3d agile ai algorithm algorithms amazon analytics android angularjs animation api architecture assembly async audio authentication automation backup bash benchmark bestpractices bitcoin blockchain books bootstrap build c c++ canvas charts chat cheatsheet cli cloud cluster cms color compiler compression concurrency containers copyright couchdb courses cpp cpu cryptography css culture data database databases datamining datastructures debian debug deeplearning deployment design designpatterns development diff distributed distributedsystems django dns docker documentation ebook editor education ejabberd email embedded encryption es6 ethereum exploit filesystem floss font framework freeculture functional fuse games gc git github gnu\linux golang google gpg gps gpu graph graphics graphs gui hardware hash haskell history howto html html5 http http2 icons ide image internet ipfs iptables ipv6 irc jabber java java8 javascript jpeg jquery json jvm jwt kafka kernel language latex learning libraries library linux llvm loadbalancing machinelearning maps markdown math messaging mit mobile monitoring music networking neuralnetworks nginx node.js nosql openpgp opensource openstreetmap optimization p2p papers password pdf pentest performance perl php png postgres postgresql primer privacy programming protocol proxy psychology publicdomain python python3 rails raspberrypi reactive reactjs reference regex rest rpc ruby rust sandbox scala science screencast search security sh shell software sql ssh ssl statistics storage streaming styleguide svg sync sysadmin tcp terminal testing tex tls tools tor torrent tracking tunnel tutorial tutorials typography ui unicode unix usability usb ux video vim visualisation visualization vm web webdesign webdev webgl websockets wiki windows wireless wysiwyg xmpp zeromq

Copy this bookmark: