Skip to content

Instantly share code, notes, and snippets.

View imjacobclark's full-sized avatar
:shipit:
Shipping

Jacob Clark imjacobclark

:shipit:
Shipping
View GitHub Profile
@imjacobclark
imjacobclark / DFA.hs
Created January 21, 2019 13:51
Simple DFA in Haskell
module DFASpec (spec) where
import Test.Hspec
data State = S1 | S2 deriving (Eq, Show)
data Symbols = Zero | One deriving (Eq, Show)
data Alphabet = Alphabet [Symbols] deriving (Eq, Show)
data FiniteStates = FiniteStates [State] deriving (Eq, Show)
@imjacobclark
imjacobclark / number-pad.lisp
Created February 2, 2019 23:34
Number padder in Lisp
(defun pad(num)
(concatenate 'string "0" num))
(defun should-pad(num)
(= (length num) 1))
(defun apply-padding(num)
(cond
((should-pad num) (pad num))
(t num)))
@imjacobclark
imjacobclark / pad-numbers-to-same-length.lisp
Last active February 3, 2019 17:57
Pad numbers to same length
(defun pad(thing)
(concatenate 'string "0" thing))
(defun pad-if-length-not-same(thing length)
(cond
((not
(= (length thing) length))
(pad thing))
(t thing)))
(require 'sb-bsd-sockets)
; Create an inet-socket instance
(defparameter *socket* (make-instance 'sb-bsd-sockets:inet-socket :type :stream :protocol :tcp))
; Define our address to be 0.0.0.0 (public interface)
(defparameter *address* '(0 0 0 0))
; Define our port to be 8080
(defparameter *port* 8080)
; Connections to hold on the backlog
(defparameter *socket-backlog* 100)
(require 'sb-bsd-sockets)
; Create an inet-socket instance
(defparameter *socket* (make-instance 'sb-bsd-sockets:inet-socket :type :stream :protocol :tcp))
; Define our address to be 0.0.0.0 (public interface)
(defparameter *address* '(0 0 0 0))
; Define our port to be 8080
(defparameter *port* 8080)
; Connections to hold on the backlog
(defparameter *socket-backlog* 100)
@imjacobclark
imjacobclark / README.md
Last active March 25, 2019 16:23
Doing the OAuth Dance for Spotify in Haskell with Scotty, Wreq and Aeson

This is still a work in progress, currently successfully authorises a user and exchanges that authorisation token for an access token.

{-# LANGUAGE OverloadedStrings #-}
module Lib
( recify,
getAccessTokenFromPayload
) where
import Web.Scotty
import Network.HTTP.Types (status302)
import Control.Monad.IO.Class
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Coin Collector!</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/5.1.3/pixi.min.js"></script>
<style>
body {
margin: 0;
@imjacobclark
imjacobclark / NeuralNetwork.js
Last active January 14, 2020 07:55
GradientDecentNeuralNetwork.js
class NeuralNetwork {
constructor(input, goal, iterations){
this.input = input;
this.goal = goal;
this.iterations = iterations;
this.weight = 0.5;
}
predict(){
let prediction;
@imjacobclark
imjacobclark / CardsWithAnimation.swift
Created February 23, 2020 18:16
iOS Card with Animation Playground
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
let titleLabel = UILabel(frame: CGRect(x: 16, y: 100, width: 150, height: 38))
let captionLabel = UILabel(frame: CGRect(x: 16, y: 120, width: 272, height: 40))
let coverImageView = UIImageView()
let blurEffect = UIBlurEffect(style: .light)
let cardView = UIButton()
let closeButton = UIButton()