Skip to content

Instantly share code, notes, and snippets.

@arturaz
arturaz / EitherUtils.scala
Created November 18, 2018 20:20
either sequence
package app.utils
import scala.collection.generic.CanBuildFrom
import scala.language.higherKinds
object EitherUtils {
def sequence[
OuterTraversable[X1] <: TraversableOnce[X1],
InnerTraversable[X2] <: TraversableOnce[X2],
A, B
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using com.tinylabproductions.TLPLib.Collection;
using com.tinylabproductions.TLPLib.Data;
using com.tinylabproductions.TLPLib.Extensions;
using com.tinylabproductions.TLPLib.Functional;
using com.tinylabproductions.TLPLib.Utilities;
@arturaz
arturaz / free_monad.cs
Last active April 10, 2023 09:01
Free Monad implementation in C# (CSharp)
using System;
namespace main {
// Modeled against
// https://medium.com/@olxc/free-monads-explained-pt-1-a5c45fbdac30
//
// Higher kind simulation from https://medium.com/@johnmcclean/simulating-higher-kinded-types-in-java-b52a18b72c74
static class Id {
public struct W {}
x11@haven:~/work/budget-tracker/app$ cat build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply from: rootProject.file('gradle/generated-kotlin-sources.gradle')
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="85dp"
android:padding="8dp"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
android:elevation="4dp"
android:background="#eeeeee"
android:id="@+id/bottom_shelf"
app:behavior_hideable="false"
app:behavior_peekHeight="40dp"
package com.tinylabproductions.analytics_collector.commands
import java.sql.Connection
import java.time.{LocalDate, LocalDateTime, LocalTime}
import com.lucidchart.relate._
import com.tinylabproductions.analytics_collector.StaticConfig
import com.tinylabproductions.analytics_collector.db.DB
import com.tinylabproductions.analytics_collector.db.Tables.CompactableTable
@arturaz
arturaz / gist:d2591a1bccca087dce4c0bc04ecc15f8
Created February 12, 2018 13:20
But you never encounter type errors in real life!
2018-02-12 14:14:36,825:ERROR:root:'dict' object does not support indexing
Traceback (most recent call last):
File "/home/superset/venv/lib/python3.5/site-packages/superset/connectors/sqla/models.py", line 568, in query
try:
File "/home/superset/venv/lib/python3.5/site-packages/superset/models/core.py", line 612, in get_df
File "/home/superset/venv/lib/python3.5/site-packages/pandas/io/sql.py", line 416, in read_sql
chunksize=chunksize)
File "/home/superset/venv/lib/python3.5/site-packages/pandas/io/sql.py", line 1087, in read_query
result = self.execute(*args)
File "/home/superset/venv/lib/python3.5/site-packages/pandas/io/sql.py", line 978, in execute
8 minutes ago on app version 15002
Huawei P9 (HWEVA), 4096MB RAM, Android 7.0
Report 1
java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.5.4f1
Device model : HUAWEI EVA-L09
Device fingerprint: HUAWEI/EVA-L09/HWEVA:7.0/HUAWEIEVA-L09/C440B390:user/release-keys
Caused by
at com.loopme.ui.view.CloseButton.drawEdging (CloseButton.java:53)
@arturaz
arturaz / Ref.cs
Last active November 20, 2017 21:11
Ultra short RSpec/NSpec/Specs style testing framework implementation on C#
public interface Val<out A> {
A value { get; }
}
public interface Ref<A> : Val<A> {
new A value { get; set; }
}
/* Simple heap-allocated reference. */
public class SimpleRef<A> : Ref<A> {
Fn<ImmutableArray<KeyValuePair<string, string>>.Builder, Act < string, string>> createAppend =
builder => (key, value) => {
qs.append(key, value);
builder.Add(F.kv(key, value));
};
var appendTag = createAppend(tags);
var appendExtra = createAppend(extras);