Skip to content

Instantly share code, notes, and snippets.

@marko-asplund
marko-asplund / advanced-psql-examples.sql
Last active June 15, 2023 02:15
Advanced PostgreSQL feature examples. Includes table DDL, example data and queries.
--
-- ** setting up example tables and data **
--
--
CREATE TABLE task (
id BIGSERIAL ,
name TEXT,
parent_id BIGINT REFERENCES task(id),
PRIMARY KEY (id)
@marko-asplund
marko-asplund / Fs2SampleCode.scala
Created August 1, 2019 12:11
fs2 example code from underscore ported to fs2 v1.0.5 and cats-effect 1.4.0
import cats.implicits._
import cats.effect.{ConcurrentEffect, Effect, ExitCode, IO, IOApp, Timer}
import fs2._
import fs2.concurrent.Queue
import scala.concurrent.duration._
import scala.concurrent.duration.MILLISECONDS
//
// fs2 example code from
// https://underscore.io/blog/posts/2018/03/20/fs2.html
@marko-asplund
marko-asplund / AeadHelper.scala
Created November 27, 2018 08:01
Implement AEAD with AES + GCM
package com.practicingtechie
// implement AEAD with AES + GCM
object AeadHelper {
import javax.crypto._
import javax.crypto.spec.{GCMParameterSpec, SecretKeySpec}
import java.security._
import java.util.Base64
val AesKeySize = 256
@marko-asplund
marko-asplund / FutureLift.scala
Created November 3, 2018 21:05
Lift Future[A] to F[A]
/*
adapted from:
https://github.com/monix/monix/blob/4f1862c4bcad7d111aa8cf64510c2fc5dcee6b77/monix-catnap/shared/src/main/scala/monix/catnap/FutureLift.scala
Monix dependency removed.
*/
package async {
import cats.effect.Async
import scala.concurrent.Future
import scala.language.higherKinds
package object effect {
import cats.effect.IO
import scala.concurrent.Future
import language.implicitConversions
import language.higherKinds
import scala.util.{Success, Failure}
import scala.concurrent.Promise
import cats.effect.Effect
@marko-asplund
marko-asplund / circe-subtyping.scala
Last active September 23, 2018 10:21
Subtype codecs with Circe
// ========== approach 1 ==========
sealed abstract class FooBase {
def subType: String = this.getClass.getSimpleName
}
case class Foo(a: Int, b: String) extends FooBase
case class Bar(c: Float, d: Int) extends FooBase
val fooName = getClassName(Foo.getClass)
val barName = getClassName(Bar.getClass)
import numpy as np
import tensorflow as tf
from tensorflow import keras
from keras.models import Sequential
import h5py
from keras.utils.io_utils import HDF5Matrix
data_dir = '...'
train_fn = data_dir + '/dataset_train.h5'
test_fn = data_dir + '/dataset_test.h5'
#!/bin/bash
#
# requires CA.pl from OpenSSL: https://github.com/openssl/openssl/blob/master/apps/CA.pl.in
#
# generating CA.pl from OpenSSL source:
# /usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
# "-oMakefile" apps/CA.pl.in > "apps/CA.pl"
# sudo cp apps/CA.pl /usr/local/bin
#
@marko-asplund
marko-asplund / ArtemisClient.scala
Created August 23, 2017 06:10
Produce & consume messages using Apache Artemis v2.2.0 core API
package com.practicingtechie
import org.apache.activemq.artemis.api.core.TransportConfiguration
import org.apache.activemq.artemis.api.core.SimpleString
import org.apache.activemq.artemis.api.core.client.{ActiveMQClient, ClientMessage, MessageHandler}
import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants._
import scala.collection.JavaConversions._
// produce & consume messages using Apache Artemis v2.2.0 core API
object ArtemisClient {
@marko-asplund
marko-asplund / d3v4-labeled-force-layout.html
Last active July 12, 2017 20:49
d3v4 force layout with labels
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.link {
stroke: #aaa;
}
.node {
pointer-events: all;