Skip to content

Instantly share code, notes, and snippets.

@hohonuuli
hohonuuli / TrackService.scala
Last active June 18, 2021 18:25
Example using GraphQL.scala
package org.mbari.vaa.tv.graphql
import io.circe._
import io.circe.parser._
import okhttp3._
import org.mbari.vaa.tv.domain.CirceCodecs.{given}
import org.mbari.vaa.tv.domain.Track
import java.util.UUID
import scala.concurrent.{ExecutionContext, Future}
@hohonuuli
hohonuuli / GraphQL.scala
Last active June 18, 2021 18:25
GraphQL support class for Scala
import io.circe._
import io.circe.parser._
import okhttp3._
import scala.concurrent.{ExecutionContext, Future}
import scala.util.Using
/**
* @author Brian Schlining
*/
object GraphQL {
concept,image,x,y,width,height
Nanomia bijuga,http://dsg.mbari.org/path/image.png,10,20,30,40
Rock,http://dsg.mbari.org/path/image.png,21,22,23,24
@hohonuuli
hohonuuli / VocParser.scala
Last active March 15, 2021 23:57
Scala VOC parser. For Medium article
import scala.xml.Elem
object VocParser {
def parse(xml: Elem): Voc = {
val filename = (xml \ "filename").text
val objects = xml \ "object"
val vocObjects = objects.map(n => {
val name = (n \ "name").text
// VOC is 1-based index. Convert to 0 based.
@hohonuuli
hohonuuli / VOC.scala
Last active March 15, 2021 23:51
Pascal VOC modeled in Scala. For medium article
case class Voc(
filename: String,
objects: Seq[VocObject] = Nil
)
case class VocObject(
name: String,
xmin: Int,
ymin: Int,
xmax: Int,
@hohonuuli
hohonuuli / pascal_vox_sample.xml
Last active March 16, 2021 00:00
Example Pascal VOC file
<annotation>
<filename>left_2019-11-04T16.59.22.762426Z.jpg</filename>
<object>
<name>Outer filter</name>
<bndbox>
<xmin>738</xmin>
<ymin>39</ymin>
<xmax>831</xmax>
<ymax>130</ymax>
</bndbox>
@hohonuuli
hohonuuli / CirceDemo.sc
Created January 17, 2021 21:35
Example for medium article on Circe
#!/usr/bin/env amm
import $ivy.`io.circe::circe-core:0.13.0`
import $ivy.`io.circe::circe-generic:0.13.0`
import $ivy.`io.circe::circe-parser:0.13.0`
import io.circe._
import io.circe.generic.semiauto._
import io.circe.parser._
import io.circe.syntax._
@hohonuuli
hohonuuli / CirceDemo.json
Created January 17, 2021 20:19
Content for medium article on Circe
[
{
"uuid": "037fa69d-cc52-4d9c-90e1-68d12c455fbd",
"name": "My Name",
"blobs" : [
{
"uuid": "77bcfc71-1c2a-4872-b11d-501d65afd01a",
"url": "https://www.foo.bar/path/to/blob1",
"checksum": "MTIzNDU2Nzg5"
},
@hohonuuli
hohonuuli / FirebaseController.java
Last active September 19, 2020 00:00
Code for a Medium article
package firebase.jwt;
import javax.inject.Inject;
import com.google.firebase.auth.FirebaseAuthException;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.annotation.*;
import io.micronaut.security.annotation.Secured;
import io.micronaut.security.authentication.UserDetails;
import io.micronaut.security.rules.SecurityRule;
@hohonuuli
hohonuuli / AuthHeader.java
Created September 18, 2020 23:48
Code for a Medium article
package firebase.jwt;
import java.util.Optional;
public class AuthHeader {
private final String type;
private final String token;
public AuthHeader(String type, String token) {
this.type = type;