Skip to content

Instantly share code, notes, and snippets.

View shamansir's full-sized avatar

Ulric Wilfred shamansir

View GitHub Profile
@shamansir
shamansir / Main.elm
Last active August 14, 2020 08:49
Elm program quick template
module Main exposing (..)
import Browser
import Html exposing (Html)
import Html as H
type alias Flags = ()
@shamansir
shamansir / Main.elm
Last active June 25, 2020 11:27
Elm parser loop example
module Main exposing (main)
import Browser
import Html exposing (Html, button, div, h2, input, text)
import Html.Attributes exposing (class, placeholder, value)
import Html.Events exposing (onClick, onInput)
import Parser exposing (..)
import Parser as P exposing (..)
module ComonadicUI.Component where
import Control.Comonad (Comonad(..))
import ComonadicUI.Pairing
import ComonadicUI.UI
type Component base w m a = w (UI base m a)
@shamansir
shamansir / gist:3007244
Created June 27, 2012 22:21
Test If Two Rotating Rectangles Intersect (SAT, JS)
// Excerpt from: https://github.com/Animatron/player/blob/master/anm.collisions.js
function edgeTest(p1, p2, p3, r2) {
var rot = [ -(p2[1] - p1[1]),
p2[0] - p1[0] ];
var ref = (rot[0] * (p3[0] - p1[0]) +
rot[1] * (p3[1] - p1[1])) >= 0;
for (var i = 0, il = r2.length; i < il; i+=2) {
@shamansir
shamansir / prepare.sh
Created March 10, 2020 18:13
Image Magick MacOS X Preparation
# magick: set the correct path to libMagickCore.dylib
install_name_tool -change \
/ImageMagick-7.0.9/lib/libMagickCore-7.Q16HDRI.7.dylib \
@executable_path/../lib/libMagickCore-7.Q16HDRI.7.dylib \
/Users/shamansir/ImageMagick-7.0.9/bin/magick
# magick: set the correct path to libMagickWand.dylib
install_name_tool -change \
/ImageMagick-7.0.9/lib/libMagickWand-7.Q16HDRI.7.dylib \
@executable_path/../lib/libMagickWand-7.Q16HDRI.7.dylib \
@shamansir
shamansir / progress.js
Created February 10, 2015 09:47
monitor html5 audio loading progress
// source: http://jspro.brothercake.com/media-events/progress.html
// article: http://www.sitepoint.com/essential-audio-and-video-events-for-html5/
(function()
{
//create a new video element with "auto" preload and native "controls"
var media = document.body.appendChild(document.createElement('video'));
media.setAttribute('preload', 'auto');
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE FlexibleInstances #-}
module Errors2 where
import Prelude
import Control.Monad.Identity
@shamansir
shamansir / Playground.hs
Created December 10, 2019 00:32
WFC Haskell
coin1 = 0.5 .* return Heads + 0.5 .* return Tails :: P Coin
runW coin1
--albert Heads
--albert Tails
@shamansir
shamansir / Decode.elm
Last active November 26, 2019 08:14
Decode Problem
module Main exposing (main)
import Browser
import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)
import Dict
import Json.Decode as D
import Json.Encode as E
@shamansir
shamansir / Dockerfile
Created September 29, 2019 14:34
Docker: PureScript 0.12 + Spago
FROM ubuntu:19.04
ENV PROJECT my-project
RUN addgroup --system user && adduser --system --group user
RUN addgroup --system node && adduser --system --group node
RUN mkdir -p /home/node
RUN mkdir -p /home/node/.nvm
RUN chown -R node:node /home/node && chmod -R 755 /home/node