Skip to content

Instantly share code, notes, and snippets.

View joehand's full-sized avatar
🌳
be like tree

Joe H joehand

🌳
be like tree
  • Portland
View GitHub Profile
@visnup
visnup / listenOnPortOrSocketFile.js
Last active May 17, 2019 11:57
Listen on a TCP port or a UNIX socket file in node.js. Handle EADDRINUSE for the socket file by deleting it and re-listening.
var fs = require('fs')
, net = require('net')
, http = require('http')
, port = process.env.PORT;
var app = function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
};
@PurpleBooth
PurpleBooth / README-Template.md
Last active July 19, 2026 15:49
A template to make good README.md

Project Title

One Paragraph of project description goes here

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Dat Core Technical Roadmap

A small roadmap for the core tech in dat. this mostly relates to the core dependencies such as hypercore/hyperdrive and not the cli or dat.land

Implementation

1. Finish random access APIs

Adding var cursor = drive.createByteCursor(file). A cursor api that quickly allows you to seek anywhere in the file content.

@mafintosh
mafintosh / index.js
Last active July 26, 2016 23:01
dat stats demo that plays sintel.mp4
var swarm = require('hyperdrive-archive-swarm')
var hyperdrive = require('hyperdrive')
var stats = require('hypercore-stats-ui')
var http = require('http')
var memdb = require('memdb')
var serve = require('hyperdrive-http')
var drive = hyperdrive(memdb())
// a remote dat
@pfrazee
pfrazee / link-checker.js
Created September 17, 2016 20:02
Quick link-checker script for Jekyll sites

dat architecture

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚             β”‚     β”‚             β”‚    β”‚             β”‚     β”‚             β”‚
  β”‚   Website   β”‚     β”‚   Desktop   β”‚    β”‚ HTTP Server β”‚     β”‚     CLI     β”‚
  β”‚             β”‚     β”‚             β”‚    β”‚             β”‚     β”‚             β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–²                   β–²                  β–²                   β–²       
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       
@cryzed
cryzed / fix-infinality.md
Last active March 4, 2026 20:22
A set of instructions on how to fix the harfbuzz + Infinality issue and restoring good-looking, Infinality-like font rendering.

Disclaimer: Please follow this guide being aware of the fact that I'm not an expert regarding the things outlined below, however I made my best attempt. A few people in IRC confirmed it worked for them and the results looked acceptable.

Attention: After following all the steps run gdk-pixbuf-query-loaders --update-cache as root, this prevents various gdk-related bugs that have been reported in the last few hours. Symptoms are varied, and for Cinnamon the DE fails to start entirely while for XFCE the icon theme seemingly can't be changed anymore etc.

Check the gist's comments for any further tips and instructions, especially if you are running into problems!

Screenshots

Results after following the guide as of 11.01.2017 13:08:

@max-mapper
max-mapper / readme.md
Created March 10, 2017 00:03
DIY DAT DYNDNS

for ubuntu, to set up a dynamic dns service that tells you what the external ip of some machine is

  • npm install dat lil-pids run-every add-to-systemd -g
  • mkdir ipdat; cd ipdat; dat create; cd ..;
  • edit file services with this:
cd ipdat && dat sync
cd ipdat && run-every 3600 curl ipinfo.io/ip > ip.txt
var neat = require('neat-log')
var output = require('neat-log/output')
var progress = require('progress-string')
var crypto = require('crypto')
var hypercore = require('hypercore')
var hyperdiscovery = require('hyperdiscovery')
var feed = hypercore('data', process.argv[2], {valueEncoding: 'json'})

Transferring your dats from one beaker to another

WARNING 1. If you do this, it MUST be either a transfer or a backup. Don't do this to run your Dats from two different computers. The Dat protocol doesn't support multiple computers running a Dat at the same time (yet) and you WILL corrupt your data.

WARNING 2. This will nuke the data in your new install.

WARNING 3. I havent actually tried this. Good luck!

If you're using Beaker 0.7.x, you'll need to copy part of your Beaker app data, and then your library folder (~/Sites).