Skip to content

Instantly share code, notes, and snippets.

Being awesome

Rob Janssen RobThree

Being awesome
View GitHub Profile

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

View WordTableExtractor.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Xml;
// var tables = new WordTableExtractor().ExtractTables(@"path\to\my\file.docx");
RobThree / ObjectMerger.php
Created May 21, 2015
Class used to merge objects based on a specific syntax specified as strings
View ObjectMerger.php
* Dynamically merges objects; it allows for string-values to be 'expanded' into actual object values following a simple
* syntax: $ or $[foo] or $objectname[1]
* Example:
* $source = array('customer' => $customerobject, 'order' => $orderobject);
* $dest = json_decode('{ "myreference": "abc-123", "customer_id": "{$}", "order_id": "{$}" }');

Keybase proof

I hereby claim:

  • I am RobThree on github.
  • I am robiii ( on keybase.
  • I have a public key whose fingerprint is 8FCA 6E28 8E13 F77A 628D BADA B3F7 16D6 6A0A A857

To claim this, I am signing this object:

RobThree / gitlab-checkandnotify
Last active Jun 3, 2016
gitlab version checker & notifier
View gitlab-checkandnotify
#mail recipient
#args: $rcpt $subject $text
sendnotification() {
echo -e "$3" | mail -s "$2" -t $1
echo -n "Checking version: "
RobThree /
Last active May 30, 2016
Python script that runs a webservice that returns readings from DS18B20 temperature sensors connected to a Raspberry Pi as JSON data for al sensors or a specific sensor
#!/usr/bin/env python
# You will need to have installed. To install, run: pip install
# How to install as service:
# Should the above page be offline; a mirror is at:
# You can run this as:
# python
# This will run the service on port 8080; # Optionally, you can specify a port:
View 1-WeightedObjectPickerExample.cs
using System;
using System.Collections.Generic;
using System.Linq;
class Program
// Demo
static void Main(string[] args)
// Define some weighted object (in this case: strings, but could be anything (e.g. "Customer") and set their weights
RobThree / tarpit.php
Created Dec 5, 2016
PHP Tarpit response
View tarpit.php
$response = <<<EOD
HTTP/1.1 {{status}}
Server: {{server}}
Date: {{gmdate}}
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
<!doctype html>
<html lang="en">
RobThree / gist:b7ee02338024beb7a2fbfd14e9a060b2
Last active Feb 11, 2021
My AdBlock Plus custom filters
View gist:b7ee02338024beb7a2fbfd14e9a060b2 > a
RobThree / check.cs
Last active Jul 6, 2020
C# implementation of the FNV-1 and FNV-1a hashes (
View check.cs
// Test/check FNV-1(a) hash implementations
var testvectors = new[] { "", "a", "b", "c", "d", "e", "f", "fo", "foo", "foob", "fooba", "foobar", "\0", "a\0", "b\0", "c\0", "d\0", "e\0", "f\0", "fo\0", "foo\0", "foob\0", "fooba\0", "foobar\0", "ch", "cho", "chon", "chong", "chongo", "chongo ", "chongo w", "chongo wa", "chongo was", "chongo was ", "chongo was h", "chongo was he", "chongo was her", "chongo was here", "chongo was here!", "chongo was here!\n", "ch\0", "cho\0", "chon\0", "chong\0", "chongo\0", "chongo \0", "chongo w\0", "chongo wa\0", "chongo was\0", "chongo was \0", "chongo was h\0", "chongo was he\0", "chongo was her\0", "chongo was here\0", "chongo was here!\0", "chongo was here!\n\0", "cu", "cur", "curd", "curds", "curds ", "curds a", "curds an", "curds and", "curds and ", "curds and w", "curds and wh", "curds and whe", "curds and whey", "curds and whey\n", "cu\0", "cur\0", "curd\0", "curds\0", "curds \0", "curds a\0", "curds an\0", "curds and\0", "curds and \0", "curds and w\0", "curds and wh\0