Skip to content

Instantly share code, notes, and snippets.

View NativeExample.kt
import io.nacular.doodle.application.Application
import io.nacular.doodle.application.application
import io.nacular.doodle.core.Display
import io.nacular.doodle.theme.ThemeManager
import io.nacular.doodle.theme.native.NativeTheme
import org.kodein.di.instance
class MyApp(display: Display,
manager: ThemeManager,
theme : NativeTheme
View HelloWorld.kt
import io.nacular.doodle.application.Application
import io.nacular.doodle.application.application
import io.nacular.doodle.controls.panels.GridPanel
import io.nacular.doodle.controls.text.Label
import io.nacular.doodle.core.*
import io.nacular.doodle.geometry.Size
import io.nacular.doodle.layout.constrain
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.kodein.di.instance
bodiam / SoftAssert.kt
Created Sep 23, 2021
SoftAssertions for AssertJ in Kotlin
View SoftAssert.kt
import org.assertj.core.api.SoftAssertions
fun softAssert(function: SoftAssertions.() -> Unit) {
SoftAssertions().apply { function() }.assertAll()
View ValidatorTest.kt
package net.schematix.validator
import com.fasterxml.jackson.dataformat.csv.CsvMapper
import com.worldturner.medeia.api.UrlSchemaSource
import com.worldturner.medeia.api.jackson.MedeiaJacksonApi
import org.junit.jupiter.api.Test
class ValidatorTest {
View build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.1.6.RELEASE"
id("io.spring.dependency-management") version "1.0.7.RELEASE"
kotlin("jvm") version "1.2.71"
kotlin("plugin.spring") version "1.2.71"
group = "io.jworks.feeds"
bodiam / TicTacToeRefactored.kt
Created Apr 19, 2019
A refactored version of the TicTacToe
View TicTacToeRefactored.kt
package nsmain2
import kotlin.random.Random
inline class PlayerMark(val value: String)
class Board(private val cells: List<PlayerMark?>) {
companion object {
val playerX = PlayerMark("x")
View TicTacToe.kt
package nsmain
import kotlin.random.Random
typealias PlayerMark = String
//Board is a list of marks, indexed by x,y coords from upper left 0 based
class Board(private var cells: List<PlayerMark?>) {
companion object {

How to setup AWS lambda function to talk to the internet and VPC

I'm going to walk you through the steps for setting up a AWS Lambda to talk to the internet and a VPC. Let's dive in.

So it might be really unintuitive at first but lambda functions have three states.

  1. No VPC, where it can talk openly to the web, but can't talk to any of your AWS services.
  2. VPC, the default setting where the lambda function can talk to your AWS services but can't talk to the web.
  3. VPC with NAT, The best of both worlds, AWS services and web.
bodiam / file.adoc
Last active Jul 5, 2016
Output of ./gradlew bestbooks-export:dependencies
View file.adoc
testCompileOnly - Compile dependencies for source set 'test'.
+--- project :bestbooks-core
|    +--- org.springframework.boot:spring-boot-starter-freemarker: FAILED
|    +--- org.springframework.boot:spring-boot-starter-web: FAILED
|    +--- org.springframework.boot:spring-boot-devtools: FAILED
|    +--- org.springframework.boot:spring-boot-starter-actuator: FAILED
|    +--- org.springframework.boot:spring-boot-starter-undertow: FAILED
|    +--- org.springframework.boot:spring-boot-starter-security: FAILED
|    +--- org.springframework.boot:spring-boot-starter-data-jpa: FAILED
bodiam / AsciiLite.groovy
Created Apr 19, 2016
AsciidoctorJ has a dependency on JRuby, which is quite a heavy library to download and load. This one is based on Groovy, and could easily be ported to Java, and while limited, does provide quite some functionality.
View AsciiLite.groovy
* A very basic regex based parser for Asciidoc.
* Based on Slimdown (Markdown) parsers:
* -
* -
* -
* @author Erik Pragt