Skip to content

Instantly share code, notes, and snippets.

View Nagelfar's full-sized avatar

Christian Folie Nagelfar

View GitHub Profile
@Nagelfar
Nagelfar / Manhattan DistanceTest.cs
Created April 1, 2020 18:24
SSC Coding Dojo - Manhattan Distance
using System;
using Xunit;
namespace DojoApr
{
public delegate int DistanceCalculation (Point p1, Point p2);
public static class Metrics {
public static readonly Metric MANHATTAN = new Manhattan();
public static readonly DistanceCalculation MANHATTAN1 = new Manhattan().Distance;
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Programs.fs" />
<Compile Include="Tests.fs" />
@Nagelfar
Nagelfar / Code.elm
Created March 30, 2021 18:35
Phonebook
module Code exposing (..)
type alias Number =
Int
type alias Entry =
{ name : String
, number : String
@Nagelfar
Nagelfar / directed-collaboration-dependency-chord.html
Created November 18, 2021 16:17
A dependency chord visualisation for Contexture (c) by Christoph Walcher
<!DOCTYPE html>
<html>
<head>
<title>Collaborations</title>
<meta charset="UTF-8">
<script src="https://d3js.org/d3.v7.min.js"></script>
</head>
<body></body>
<script>
@Nagelfar
Nagelfar / ROP.java
Created November 14, 2023 07:46
Railway-Oriented-Programming in Java
import java.util.function.Consumer;
import java.util.function.Function;
sealed interface Result<T> {
static <TOK> Result<TOK> ok(TOK value) {
return new Ok<>(value);
}
static <TOK> Result<TOK> err(String error) {
return new Err<>(error);
@Nagelfar
Nagelfar / SqlSpanInterceptor.java
Created January 25, 2024 16:41
Open Telemetry - SQL integration
package at.salzburgag.iot.dataplatform.smartmeter.utils.tracing;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.InterceptorBean;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.core.annotation.Nullable;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.propagation.PropagatedContext;
import io.micronaut.tracing.opentelemetry.OpenTelemetryPropagationContext;