Goals: Add links that are reasonable and good explanations of how stuff works. No hype and no vendor content if possible. Practical first-hand accounts of models in prod eagerly sought.
Sats4Files is a protocol for decentralized file hosting. It allows users to request data from untrusted servers, and upon receiving the encrypted data, they can pay for the decryption key via Lightning. The exchange is atomic, ensuring that the user only receives the data if they pay for it, and the seller only gets paid if they deliver the data. The protocol is an efficient form of verifiable encryption, which is similar to verifiable secret sharing using Shamir's algorithm.
This scheme is simplified and does not fully solve the problem, as discussed in the Limitations section. This writeup intends to spark interest to solve the remaining issues beyond the fixes that we suggest.
The client wants to buy from the server the file
corresponding to a particular file_id
.
Here, we assume we have PTLCs on Lightning instead of HTLCs. That means we can buy a discrete logarithm over Li
- https://fishshell.com/ - my default shell, i use theme bobthefish
- https://www.sublimetext.com/ - my default editor
- Material Theme
- Operator font
- Packages: Emmet, Hayaku, SidebarEnhancements, JS Snippets, GSAP Snippets
- Sublime snippet for comments
- Sublime icon
- https://code.visualstudio.com/ - trying to switch, but not yet
Here is a script that can be run with canvas-sketch to generate OBJ files from a parametric/algorithmic 3D ThreeJS geometry.
Hitting "Cmd + S" from the canvas-sketch tool will export a PNG and OBJ file of the scene.
If the same script is run from Node, it will simply render the OBJ to stdout, or write to the filename argument if given.
const canvasSketch = require('canvas-sketch'); | |
const settings = { | |
dimensions: [ 2048, 2048 ], | |
params: { | |
size: { | |
min: 50, | |
max: 400, | |
step: 1, | |
value: 200 |
const canvasSketch = require('canvas-sketch'); | |
const { lerp } = require('./util/math'); | |
const settings = { | |
animate: true, | |
duration: 3, | |
dimensions: [ 640, 640 ], | |
scaleToView: true, | |
playbackRate: 'throttle', | |
fps: 24 |
//CC2018 | |
document.addEventListener('paste', function(evt) { | |
//Import SVG copied to clipboard from Illustrator | |
//remove last hidden character that will otherwise break the import | |
if(document.activeElement.nodeName!="TEXTAREA"){ | |
var str=evt.clipboardData.getData('text/plain').slice(0, -1); | |
var svg=project.importSVG(str) | |
svg.clipped=false; | |
svg.children[0].remove() | |
svg.parent.insertChildren(svg.index,svg.removeChildren()); |
- http://stackoverflow.com/questions/804115 (
rebase
vsmerge
). - https://www.atlassian.com/git/tutorials/merging-vs-rebasing (
rebase
vsmerge
) - https://www.atlassian.com/git/tutorials/undoing-changes/ (
reset
vscheckout
vsrevert
) - http://stackoverflow.com/questions/2221658 (HEAD^ vs HEAD~) (See
git rev-parse
) - http://stackoverflow.com/questions/292357 (
pull
vsfetch
) - http://stackoverflow.com/questions/39651 (
stash
vsbranch
) - http://stackoverflow.com/questions/8358035 (
reset
vscheckout
vsrevert
)
- http://absulit.com/portfolio/demo/webvr/001/
- https://www.clicktorelease.com/code/polygon-shredder/vr/ #positional
- https://www.clicktorelease.com/tmp/threejs/webvr-physics/ #positional #input #haptic
- https://janusweb.metacade.com/ https://github.com/jbaicoianu/janusweb/
- https://jzitelli.github.io/poolvr/
- https://kuva.io/block-background/ #positional #input
- https://www.shadertoy.com/results?filter=vr
- https://vr-batted-ball-vis.herokuapp.com/index.html