Skip to content

Instantly share code, notes, and snippets.

Frank Versnel fversnel

Block or report user

Report or block fversnel

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@fversnel
fversnel / baba.clj
Last active Apr 2, 2019
Baba is you spec
View baba.clj
(ns babaisyou.spec
(:require [clojure.spec.alpha :as s]))
(s/def ::subject
#{:word/baba :word/wall :word/flag :word/grass})
(s/def ::verb
#{:word/is})
(s/def ::object
#{:word/you :word/push :word/stop :word/win})
(s/def ::sentence
@fversnel
fversnel / extra-database-assignments.md
Last active May 10, 2018
Extra database assignments
View extra-database-assignments.md

Extra assignments

Here are some extra assignments for everyone who has finished the database homework and couldn't get enough ;).

Indices

Indices are a very important feature to make queries faster.

  1. What is a database index? Explain in your own words.
@fversnel
fversnel / MachineLearning1.scala
Last active Nov 9, 2017
Following along in Scala with the Coursera Machine Learning course
View MachineLearning1.scala
import spire.implicits._
import spire.math._
class MachineLearning1[Number](implicit fractional: Fractional[Number]) {
import fractional.pow
private def number(integer: Int): Number = fractional.fromInt(integer)
type Hypothesis = Number => Number
@fversnel
fversnel / ComplexNumber.cs
Last active Feb 17, 2017
My first attempt at implementing lateral (i.e. imaginary) numbers. Currently implemented +, - and *
View ComplexNumber.cs
namespace Lateralus {
public struct ComplexNumber {
public readonly double Direct; // Real part
public readonly Lateral Lateral; // Imaginary part
public ComplexNumber(double direct, Lateral lateral) {
Direct = direct;
Lateral = lateral;
@fversnel
fversnel / BulletThreadingUnity.cs
Last active Aug 11, 2016
Bullet physics in a separate thread on Unity
View BulletThreadingUnity.cs
using System.Diagnostics;
using System.Threading;
using BulletSharp;
using BulletSharp.Math;
using BulletUnity;
using UnityEngine;
using Vector3 = BulletSharp.Math.Vector3;
public class MultithreadingTest : MonoBehaviour {
private MotionState _bodyView;
@fversnel
fversnel / QuartzObservable.scala
Last active Feb 11, 2016
Creates an Observable from a cron expression using the Quartz scheduler
View QuartzObservable.scala
package org.frankversnel.rxquartz
import java.time.Instant
import java.util.UUID
import scala.concurrent.{ExecutionContext, Promise, Future}
import com.typesafe.scalalogging.Logger
import org.quartz._
import rx.lang.scala.{Observer, Subscription, Observable}
@fversnel
fversnel / UnetAvailablePort.md
Last active Dec 4, 2015
Get available port for UNET socket
View UnetAvailablePort.md
using System.Net;
using System.Net.Sockets;
using UnityEngine.Networking;

var address = IPAddress.Parse("0.0.0.0");
int port;
using (var tempSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)) {
    tempSocket.Bind(new IPEndPoint(address, port: 0));
    port = ((IPEndPoint) tempSocket.LocalEndPoint).Port;
View raknet compilation.txt
frank@ui:~/Desktop/RakNet/DependentExtensions/Swig$ ./MakeSwig.sh ../../Source/
Performing Swig build
without SQLiteClientLogger
../../Source/RakNetDefines.h:28: Warning 305: Bad constant value (ignored).
../../Source/RakPeer.h:57: Warning 401: Nothing known about base class 'RNS2EventHandler'. Ignored.
../../Source/NatTypeDetectionClient.h:45: Warning 401: Nothing known about base class 'RNS2EventHandler'. Ignored.
../../Source/NatTypeDetectionServer.h:55: Warning 401: Nothing known about base class 'RNS2EventHandler'. Ignored.
../../Source/RakWString.h:40: Warning 503: Can't wrap 'operator wchar_t*' unless renamed to a valid identifier.
Swig build complete
Removing and replacing the sample cs files with fresh ones
View Compression.cs
using System;
using UnityEngine;
namespace RamjetAnvil.Networking {
public static class Compression {
public static class Rotation {
private const float Minimum = -1.0f / 1.414214f; // note: 1.0f / sqrt(2)
private const float Maximum = +1.0f / 1.414214f;
@fversnel
fversnel / FunctionalEntitas.cs
Created Jun 26, 2015
First version of a functional API for the Entitas framework
View FunctionalEntitas.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
namespace Entitas.Functional {
/// <summary>
/// TODO Naming systems with string instead of Type
You can’t perform that action at this time.