Skip to content

Instantly share code, notes, and snippets.

@arturaz
arturaz / AbilityTargetData.partials.cs
Created October 18, 2021 10:16
Proposal/example for Quantum union generation
// ReSharper disable all
using System;
namespace Quantum
{
public partial struct AbilityTargetData
{
public static AbilityTargetData newCharacter(EntityRefCharacter _character)
{
var data = default(AbilityTargetData);
package app
import shapeless.ops.hlist.{ConstMapper, Mapper, ZipWith}
import shapeless.{::, HList, HNil, Poly2}
case class Params()
sealed trait EvaluatableGeneratorFilter[+Result] {
def eval(p: Params): Result
}
@arturaz
arturaz / ADT.cs
Created September 22, 2013 09:55
Defining same ADT in C# and Scala
public abstract class Kind {
public class Global : Kind {}
public class World : Kind {
public readonly int world;
public World(int world) {
this.world = world;
}
}
for (final kv in accounts.entries) {
kv.value.details.owner.iswitch(
me: () {},
otherUser: (userId) {
otherUsers
.getE(userId)
.fold((err) => errors.add(StateUpdateError.withoutEvent(err)),
(events) {
final accountId = kv.key;
if (!events.share.rules.isShared(accountId)) {
@arturaz
arturaz / dart1.dart
Last active December 30, 2020 20:44
// Pre copy-paste
getAccount(accountId)
.filterMap((account) =>
account.details.owner != modifier
? Some(
"Can't modify a transaction $eventToModifyRef in account $accountId that you don't own: "
"owner=${account.details.owner}, modifier=$modifier"
)
: const Option.none()
)
@arturaz
arturaz / VertxReadFileFlux.scala
Created June 9, 2020 20:44
Turn a Vertx file into Scala reactor flux which reads bytes upon demand
trait FileProps {
def size: Long
}
val vfs: FileSystem = ???
def readFlux(path: Path): Future[(FileProps, SFlux[Buffer])] =
vfs.propsFuture(path.toString).map { vertxFileProps =>
val props = new FileProps {
override def size = vertxFileProps.size()
import 'dart:io';
import 'package:functional_data/functional_data.dart';
import 'package:meta/meta.dart';
import 'package:zowo_lib/lib.dart';
part 'Config.g.dart';
@immutable
@FunctionalData()
@arturaz
arturaz / SSLUtil.scala
Last active March 30, 2020 09:24
Support for creating a java SSLContext from letsencrypt certificates using BouncyCastle and Scala.
package app.utils
import java.io.{FileReader, Reader}
import java.nio.file.Path
import java.security.cert.Certificate
import java.security.{KeyStore, Security}
import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo
import org.bouncycastle.cert.X509CertificateHolder
@arturaz
arturaz / Fs2SevenZip.scala
Created March 26, 2020 21:30
Utility class to unzip 7zip archives using fs2 scala library
package app.utils
import java.io.{File, FileOutputStream, RandomAccessFile}
import cats.effect.{ConcurrentEffect, IO}
import com.typesafe.scalalogging.Logger
import fs2._
import fs2.concurrent.Queue
import net.sf.sevenzipjbinding._
import net.sf.sevenzipjbinding.impl.RandomAccessFileInStream
@arturaz
arturaz / MyDBContext.scala
Last active February 28, 2020 09:52
Quill JSON Play support
class MyDBContext(
dataSource: DataSource with Closeable,
ec: ExecutionContextWithExecutor
) extends PostgresJdbcContext(SnakeCase, dataSource)
with Queries with Quotes with JsonB with Codecs