Skip to content

Instantly share code, notes, and snippets.

@daharon
daharon / Test.scala
Last active April 18, 2023 20:37
Quill fails to use the custom encoding.
package com.example
import java.util.UUID
import io.getquill.jdbczio.Quill
import io.getquill.{PostgresZioJdbcContext, SnakeCase}
import zio.ZIOAppDefault
object MappedEncodingTest extends ZIOAppDefault {
@daharon
daharon / JacksonJsonSugar.scala
Created April 8, 2022 23:34
Extension method to deserialize JSON string to object.
package us.aharon.test.json
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import scala.reflect.{ClassTag, classTag}
/**
* Extension methods for [[String]]s.
*/
@daharon
daharon / JacksonRegisteredSerializers.scala
Created April 8, 2022 21:55
Custom Jackson deserializer registered with the mapper
package us.aharon.test.json
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.{DeserializationContext, JsonDeserializer, JsonNode}
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.databind.module.SimpleModule
import com.fasterxml.jackson.module.scala.DefaultScalaModule
object JacksonRegisteredSerializers extends App {
@daharon
daharon / dune
Last active February 16, 2020 15:28
Error: Unbound value show -- Fixed
(executable
(name recursive_variants)
(modules recursive_variants)
(libraries base core stdio)
(preprocess (pps ppx_deriving.show)))
(alias (name recursive_variants) (deps recursive_variants.exe))
@daharon
daharon / transient_unit_start.sh
Created November 22, 2019 18:15
Calling systemd's StartTransientUnit via DBus
# Trying to use the following command and recieving:
# Error: GDBus.Error:System.Error.ENXIO: No such device or address
# StartTransientUnit(in s arg_0,
# in s arg_1,
# in a(sv) arg_2,
# in a(sa(sv)) arg_3,
# out o arg_4);
gdbus call \
We can make this file beautiful and searchable if this error is corrected: It looks like row 7 should actually have 11 columns, instead of 7 in line 6.
sku,name,lng:en-UK:name,price,lng:en-UK:price,categories,group_id,image_url,in_stock,lng:en-UK:in_stock,url
sku-0-45-0VkCxTTTYw,name-0-74-DMLvy8qIyN,name-0-74-DMLvy8qIyN-UK,57,50,categories-0-7-KVLROG32h0,group-86,image_url-0-96-DEYqmWmNyq,false,true,url-0-66-rkvCB2owRH
sku-1-62-lbLzIwcFuv,name-1-16-8WU8x1bTST,name-1-16-8WU8x1bTST-UK,919,800,categories-1-23-FIqVWSLtoM,group-43,image_url-1-48-DXfb2LPhPN,true,false,url-1-19-0d0TJ1MS7C
sku-1-63-lcLzIwcFuv,name-1-16-8WU8x1bTST,name-1-16-8WU8x1bTST-UK,919,800,categories-1-23-FIqVWSLtoM,group-43,image_url-1-48-DXfb2LPhPN,true,false,url-1-19-0d0TJ1MS7C
sku-1-64-lcLzIwcFuv,name-1-16-8WU8x1bTST,name-1-16-8WU8x1bTST-UK,919,800,categories-1-23-FIqVWSLtoM,group-43,image_url-1-48-DXfb2LPhPN,true,false,url-1-19-0d0TJ1MS7C
sku-0-55-0VkCxTTTYw,name-0-74-DMLvy8qIyN,name-0-74-DMLvy8qIyN-UK,57,50,categories-0-7-KVLROG32h0,group-86,image_url-0-96-DEYqmWmNyq,false,true,url-0-66-rkvCB2owRH
sku-0-57,name-0-74-DMLvy8qIyN,name-0-74-DMLvy8qIyN-UK,57,50,categories-0-7-KVLROG32h0,group-
[
{
"name": "Natural Pistachio Gift Tin (2 lbs.)",
"url": "https:\/\/nuts.com\/gifts\/gifttins\/natural-pistachios-2lbs.html",
"image_url": "https:\/\/nuts.com\/images\/auto\/228x152fill\/assets\/d2b211dfb4914f6f.jpg",
"image_url_email": "https:\/\/nuts.com\/images\/auto\/480x320fill\/assets\/d2b211dfb4914f6f.jpg",
"image_url_product": "https:\/\/nuts.com\/images\/auto\/510x340\/assets\/d2b211dfb4914f6f.jpg",
"categories": "Gifts|Gift Tins",
"group_id": "8519",
"keywords": "kosher|kosher pareve|salty|thanksgiving|for her|for him|christmas|easter|chanukah|cluster 6|corporate",
@daharon
daharon / PicoCliTestJava.java
Last active May 9, 2019 16:59
Double printing of argument group members
import picocli.CommandLine;
import picocli.CommandLine.ArgGroup;
import picocli.CommandLine.Option;
import java.util.List;
public class PicoCliTestJava implements Runnable {
@ArgGroup(heading = "GROUP", exclusive = false)
ECS_REPO_NAME = 'jenkins-docker-test'
ECS_TASK_DEF = 'jenkins-docker-test'
ECS_SERVICE = 'jenkins-docker-test-http-v3'
REGIONS = [ 'us-east-1' ]
node {
stage('Test') {
build(
job: 'Node 8 Test',
parameters: [
ExampleS3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref ExampleS3Bucket
PolicyDocument:
Id: AllowExternalAccountAccess
Version: '2012-10-17'
Statement:
- Action:
- s3:GetObject