Skip to content

Instantly share code, notes, and snippets.

View njam's full-sized avatar

Reto Kaiser njam

View GitHub Profile

Keybase proof

I hereby claim:

  • I am njam on github.
  • I am njam (https://keybase.io/njam) on keybase.
  • I have a public key ASC-YBOm7q4wL-uRQU9id9E7Z4dRkDiF8Dqn1q5gL6341Ao

To claim this, I am signing this object:

package main
func printDiff(suppressedKinds []string, kind string, context int, before, after string, to io.Writer) {
diffs := difflib.Diff(strings.Split(before, "\n"), strings.Split(after, "\n"))
for _, ckind := range suppressedKinds {
if ckind == kind {
str := fmt.Sprintf("+ Changes suppressed on sensitive content of type %s\n", kind)
fmt.Fprintf(to, ansi.Color(str, "yellow"))
return
<?xml version="1.0" encoding="utf-8"?>
<CityModel xmlns="http://www.opengis.net/citygml/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xmlns:bldg="http://www.opengis.net/citygml/building/2.0"
xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0"
xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0"
xmlns:dem="http://www.opengis.net/citygml/relief/2.0"
Q: How big is the blockchain today?
A: 415'000 blocks, 70 Gigabytes.
Q: Where is the blockchain stored?
A: On all the nodes participating in the Bitcoin p2p network.
Implicit consensus is achieved by all nodes following the same rules (and incentives).
Q: What kind of encryption is Bitcoin using?
A: none (rather hashing and signing).
extern crate gtk;
extern crate gio;
extern crate glib;
#[macro_use]
extern crate relm;
#[macro_use]
extern crate relm_derive;
use relm::{Relm, Update, Widget};
use gio::prelude::*;
#[test]
fn filter_signal_cloned() {
let list = signal_vec::always(vec![3, 1, 6, 2]).map(Rc::new);
#[derive(Copy, Clone)]
enum FilterOption { Odd, Even }
let filter_option = Rc::new(Mutable::new(FilterOption::Odd));
let mut signal = list
use std::pin::Pin;
use std::rc::Rc;
use std::task::Poll;
use futures_executor::block_on;
use futures_util::future::poll_fn;
use futures_signals::signal::{Mutable, Signal};
use futures_signals::signal_vec::{MutableVec};
use futures_signals::signal_vec::SignalVecExt;
@njam
njam / dominator-headless.rs
Created February 5, 2020 19:21
Rendering rust-dominator app in headless browser with wasm-bindgen-test
use wasm_bindgen::prelude::*;
use wasm_bindgen_test::*;
use wasm_bindgen_test::wasm_bindgen_test_configure;
use dominator_test::App;
wasm_bindgen_test_configure!(run_in_browser);
#[wasm_bindgen_test(async)]
async fn test_html() {
@njam
njam / restic-backup@.service
Last active February 15, 2020 10:52
restic systemd config
[Unit]
Description=Restic backup %I
[Service]
Type=oneshot
Environment="HOME=%h"
ExecStart=/usr/bin/restic backup $BACKUP_ARGS "${BACKUP_PATH}"
ExecStart=/usr/bin/restic forget --prune $FORGET_ARGS
ExecStart=/usr/bin/restic check
@njam
njam / repo-list-license.js
Last active February 21, 2020 16:07
List license of all repos in a Github organisation
var GitHubApi = require('github');
var assert = require('assert');
var org = 'cargomedia';
var token = '<github-token>';
var api = new GitHubApi({
version: '3.0.0',
protocol: 'https',
headers: {'user-agent': 'repo-lister'}