Skip to content

Instantly share code, notes, and snippets.

View yangwao's full-sized avatar
🥋
Mastering the code

Matej yangwao yangwao

🥋
Mastering the code
View GitHub Profile
@wiseman
wiseman / 00 Drone strike communications transcript.md
Last active February 16, 2021 11:55
Drone strike communications transcript

On Feb. 21, 2010, a con­voy of vehicles car­ry­ing ci­vil­ians headed down a moun­tain in cent­ral Afgh­anistan. Amer­ic­an eyes were watch­ing. For more than four hours, the U.S. mil­it­ary — in­clud­ing a Pred­at­or drone crew in Nevada, video screen­ers in Flor­ida, an AC-130 air­plane crew in the sky and an Amer­ic­an spe­cial op­er­a­tions unit on the ground nearby — tracked the con­voy, try­ing to de­cide wheth­er it was friend or foe. This is the of­fi­cial U.S. mil­it­ary tran­script of the ra­dio trans­mis­sions and cock­pit con­ver­sa­tions that day, ob­tained by the Los Angeles Times through a Free­dom of In­form­a­tion Act re­quest.

This is a cleaned up copy of the transcript obtained by the LA Times, retrieved from http://documents.latimes.com/transcript-of-drone-attack/

I downloaded the PDF, ran pdf2txt on it, ran the following Python program to clean it up, then did manual edits.

import sys
@Wack0
Wack0 / 1-torrents-time-certs-keys.md
Last active June 10, 2022 12:39
Torrents Time bundles certificates and private keys.

Torrents Time bundles certificates and private keys

So, with all the news about how Torrents Time is insecure.. I figured I might as well reverse it.

It seems to have three components, one (on windows) is a native service (TTService.exe) that runs as SYSTEM, another (TTPlayer.exe) runs under a lower privileged user. There's also a nodejs application, server.js.

The native service seems to set up a localhost HTTPd, on either port 12400, 11400, 10400 or 9400, using whichever is open.

So, I browsed to it, and was astonished to discover it was running with TLS, and gave the browser a valid certificate, signed by Thawte! (the cert was issued to localhost.ttconfig.xyz, obviously to work around new CA rules. For the record, it currently resolves to 127.0.0.1 as you'd probably expect.)

@daliborgogic
daliborgogic / delay.js
Created December 16, 2016 15:26
Node.js Async/Await delay
'use strict'
const timeout = ms => new Promise(res => setTimeout(res, ms))
function convinceMe (convince) {
let unixTime = Math.round(+new Date() / 1000)
console.log(`Delay ${convince} at ${unixTime}`)
}
async function delay () {
@itod
itod / split_keyboards.md
Last active August 8, 2025 13:01
Every "split" mechanical keyboard currently being sold that I know of
@rkaramandi
rkaramandi / nginx-and-certbot-config.md
Last active May 3, 2025 07:44
Running NGINX and CertBot Containers on the Same Host

Running NGINX and CertBot Containers on the Same Host

The Problem

A lot of people run into the problem of running Let's Encrypt's CertBot Tool and an NGINX on the same container host. A big part of this has to do with CertBot needing either port 80 or 443 open for the tool to work as intended. This tends to conflict with NGINX as most people usually use port 80 (HTTP) or 443 (HTTPS) for their reverse proxy. Section 1 outlines how to configure NGINX to get this to work, and Section 2 is the Docker command to run CertBot.

1. NGINX Configuration

I use Docker Compose (docker-compose) for my NGINX server. My docker-compose.yml file looks something like this:

@Kixunil
Kixunil / ucsfa.md
Last active June 19, 2017 11:19
User coordination of soft fork activation

User coordination of soft fork activation

Abstract

This document proposes a novel way to improve coordination of users who wish to activate a new soft fork in Bitcoin. The main idea is to use smart contracts to incentivize users to actually enforce the soft fork with lower risk of support being too low. At the same time the contract is in effect only if significant part of economy agrees to it. The contract also signals the intent to miners and other users in a way that would be otherwise expensive for sybil attackers. This proposal also suggests an interesting way to pay developers for the development of the soft fork code.

Acknowledgement

Can we create a smart contract VM on nodejs using Dat?

Ethereum is a trustless network of VMs which run smart contracts submitted by users. It uses proof-of-work to synchronize state across the network, and has every node execute the contracts in order to verify the state's validity. Each transaction is stored in the blockchain for replayability. Read more about it here.

Ethereum's "trustless network" model has some disadvantages:

  • Transaction processing is slow - it maxes at roughly 25tx/s right now for all contracts combined.
  • Every transaction costs money to execute.
  • The entire blockchain state must be shared across the computing network.
  • No private transactions.
@DavidWells
DavidWells / netlify.toml
Last active May 15, 2025 18:44
All Netlify.toml & yml values
[Settings]
ID = "Your_Site_ID"
# Settings in the [build] context are global and are applied to all contexts unless otherwise overridden by more specific contexts.
[build]
# This is the directory to change to before starting a build.
base = "project/"
# NOTE: This is where we will look for package.json/.nvmrc/etc, not root.
# This is the directory that you are publishing from (relative to root of your repo)