WIP
This is based on 0 to LSP : Neovim RC From Scratch by ThePrimeagen. Go check it out, big like and subscribe!
This is a learning by doing hands-on writeup. I suggest doing a writeup on your own if you have the time for it.
WIP
This is based on 0 to LSP : Neovim RC From Scratch by ThePrimeagen. Go check it out, big like and subscribe!
This is a learning by doing hands-on writeup. I suggest doing a writeup on your own if you have the time for it.
#!/bin/bash | |
# This script subscribes to a MQTT topic using mosquitto_sub. | |
# On each message received, you can execute whatever you want. | |
while true # Keep an infinite loop to reconnect when connection lost/broker unavailable | |
do | |
mosquitto_sub -h "127.0.0.1" -t "test" | while read -r payload | |
do | |
# Here is the callback to execute whenever you receive a message: |
#!/boot/bzImage | |
# Linux kernel userspace initialization code, translated to bash | |
# (Minus floppy disk handling, because seriously, it's 2017.) | |
# Not 100% accurate, but gives you a good idea of how kernel init works | |
# GPLv2, Copyright 2017 Hector Martin <[email protected]> | |
# Based on Linux 4.10-rc2. | |
# Note: pretend chroot is a builtin and affects the current process | |
# Note: kernel actually uses major/minor device numbers instead of device name |
import akka.actor.IO._ | |
import akka.actor.{Props, IO, IOManager, Actor, ActorSystem} | |
import akka.event.Logging | |
import akka.util.ByteString | |
import java.net.InetSocketAddress | |
class TCPEchoServer(port: Int) extends Actor { | |
val log = Logging(context.system, this) | |
val state = IterateeRef.Map.async[IO.Handle]()(context.dispatcher) |
/* Start by creating a reader for some fake yet conceivable type for executing SQL queries. */ | |
val dbReader: Reader[Properties, JdbcExecutor] = | |
for { | |
driver <- read[String]("db.driver") | |
uri <- read[String]("db.uri") | |
user <- read[String]("db.username") | |
password <- read[String]("db.password") | |
name <- read[String]("db.pool.name") | |
minCons <- read[Int]("db.pool.minConnections") |
trait Enum { //DIY enum type | |
import java.util.concurrent.atomic.AtomicReference //Concurrency paranoia | |
type EnumVal <: Value //This is a type that needs to be found in the implementing class | |
private val _values = new AtomicReference(Vector[EnumVal]()) //Stores our enum values | |
//Adds an EnumVal to our storage, uses CCAS to make sure it's thread safe, returns the ordinal | |
private final def addEnumVal(newVal: EnumVal): Int = { import _values.{get, compareAndSet => CAS} | |
val oldVec = get |