Skip to content

Instantly share code, notes, and snippets.


Peter Keše pkese

  • Viidea
  • Ljubljana
View GitHub Profile
View episari65.fsx
#!/usr/bin/env -S dotnet fsi /langversion:preview
// - Fetch EPISARI hospitalizations data from
// - Fetch vaccination data from
// - Mix in static population demography data
// - Render hospitalizatized per 100k population json
#r "nuget: FSharp.Data, 4.2.5"
#r "nuget: FSharp.Json, 0.4.1"
pkese / chart.js
Created Oct 24, 2021
Fetch vaccinations vs hospitalizations data from Our World In Data
View chart.js
<title>Covid vaccinations vs hospitalizations</title>
<script src=""></script>
<figure class="highcharts-figure">
<div id="container" style="width:100%; height:100%;"></div>
pkese / PavedRoadsPerCapita.fsx
Created Sep 11, 2021
Join two tables from Wikipedia to render list of counties sorted by kilometres of paved roads per capita.
View PavedRoadsPerCapita.fsx
#!/usr/bin/dotnet fsi
#r "nuget: FSharp.Data, 4.2.2"
open FSharp.Data
open System
type RoadsHtml = HtmlProvider<"">
let roadsHtml = RoadsHtml.GetSample()
let roads =
View TorchSharpLeak2.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View fizzbuzz.fs
let (|IsMultiple|_|) n x = if x % n = 0 then Some n else None
|> (function
| IsMultiple 15 x -> "FizzBuzz"
| IsMultiple 5 x -> "Buzz"
| IsMultiple 3 x -> "Fizz"
| x -> $"{x}")
|> List.iter (printfn "%s")
pkese /
Last active Jul 25, 2020
My NixOS experience

My first steps with NixOS


  • I'd like to use NixOS to manage a 'container' with some services (e.g. Solr) on my headless server.
  • I'm currently running lxc, lxd and docker containers which is tech that I'm familiar with.
  • I'm assuming Nix can provide similar experience: presumably a pure λ(nix-config) -> reproducible container.

Ideally there'd be a short getting started tutorial. My familiarity is:

pkese / adaptive_demo.fs
Last active Aug 13, 2020
FSharp.Data.Adaptive sample with React
View adaptive_demo.fs
module AdaptiveSample
open Fable.React
open Fable.React.Props
open FSharp.Data.Adaptive
let useAdaptive (v: aval<'T>) =
// initialize hook with initial value
let stateHook = Hooks.useState (AVal.force v)
let onChange () =
pkese / BoolExpr.fs
Created Jun 14, 2019
BoolExpr eval in F#
View BoolExpr.fs
type Expr =
| And of Expr * Expr
| Or of Expr * Expr
| Not of Expr
| Const of bool
let rec eval = function
| And (x,y) -> eval x && eval y
| Or (x,y) -> eval x || eval y
| Not x -> not (eval x)
View feathers-rethinkdb

I have setup a table with custom id field as follows:

  app.use('session', new Service({
    Model: r,
    id: 'hash',
    name: 'sessions',
View dash-avc264 command lines
See my DASH-IF presentation from October, 2014:
1. encode multiple bitrates with keyframe alignment:
ffmpeg -i ~/Movies/5D2_Portrait.MOV -s 1280x720 -c:v libx264 -b:v 1450k -bf 2 \
-g 90 -sc_threshold 0 -c:a aac -strict experimental -b:a 96k -ar 32000 out.mp4
My input was 30 fps = 3000 ms. If it were 29.97, then a GOP size of 90 frames will yield a base segment
size of 3003 milliseconds. You can make the segment size some multiple of this, e.g.: 6006, 9009, 12012.