Skip to content

Instantly share code, notes, and snippets.

View zainab-ali's full-sized avatar

Zainab Ali zainab-ali

View GitHub Profile
//This was taken from the Swift OpenGL Example on GitHub
// View code
import Foundation
import UIKit
import QuartzCore
import OpenGLES
import GLKit
@zainab-ali
zainab-ali / Swift Event Driven Draw Loop
Created May 3, 2015 13:53
Swift Event Driven Draw Loop
//The GameViewController must be the delegate of the GLKView
import UIKit
import GLKit
import OpenGLES
class GameViewController: UIViewController, GLKViewDelegate {
var context: EAGLContext!
import UIKit
import GLKit
import OpenGLES
let GLENUM_GL_RENDERBUFFER = GLenum(GL_RENDERBUFFER)
let INT_GL_RENDERBUFFER = Int(GL_RENDERBUFFER)
let GLUINT_GL_FRAMEBUFFER = GLuint(GL_FRAMEBUFFER)
let GLENUM_GL_FRAMEBUFFER = GLenum(GL_FRAMEBUFFER)
let GLENUM_GL_COLOR_ATTACHMENT0 = GLenum(GL_COLOR_ATTACHMENT0)
let GLENUM_GL_VERTEX_SHADER = GLenum(GL_VERTEX_SHADER)
@zainab-ali
zainab-ali / *inferior-ensime-server*
Last active May 16, 2016 20:35
*inferior-ensime-server*
Starting ENSIME server: /usr/lib/jvm/java-8-openjdk-amd64/bin/java -classpath /home/yilin/.ivy2/cache/org.ensime/monkeys_2.11/jars/monkeys_2.11-0.9.10-SNAPSHOT.jar:/home/yilin/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.8.jar:/home/yilin/.ivy2/cache/org.ensime/ensime_2.11/jars/ensime_2.11-0.9.10-SNAPSHOT.jar:/home/yilin/.ivy2/cache/org.ensime/server_2.11/jars/server_2.11-0.9.10-SNAPSHOT.jar:/home/yilin/.ivy2/cache/org.ensime/core_2.11/jars/core_2.11-0.9.10-SNAPSHOT.jar:/home/yilin/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.11.8.jar:/home/yilin/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.8.jar:/home/yilin/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.4.jar:/home/yilin/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.11/bundles/scala-parser-combinators_2.11-1.0.4.jar:/home/yilin/.ivy2/cache/org.ensime/api_2.11/jars/api_2.11-0.9.10-SNAPSHOT.jar:/home/yilin/.ivy2/cache/ch.qos.logback/logback-classic/jars/log
ENSIME server starting...
Connecting to Swank on port 49075..
Connected to ENSIME speaking protocol 0.8.20, please wait while the project is loaded.
Initializing Analyzer. Please wait...
ENSIME ready. Hacks and glory await!
Server connection closed unexpectedly: connection broken by remote peer
;; the package manager
(require 'package)
(setq
use-package-always-ensure t
package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("org" . "http://orgmode.org/elpa/")
("melpa" . "http://melpa.org/packages/")))
(package-initialize)
(when (not package-archive-contents)
@zainab-ali
zainab-ali / reader.scala
Last active May 22, 2016 14:55
Local functions on the Reader
//local defined for GlobalEnv => Option[LocalEnv]
def localOption[LocalEnv, GlobalEnv, A](r: Reader[LocalEnv, A])(f: GlobalEnv => Option[LocalEnv]): Reader[GlobalEnv, Option[A]] =
Reader(globalEnv => f(globalEnv).map(r.run))
//generalization of the above in terms of Functors
def localF[F[_], A, AA, B](r: Reader[A, B])(f: AA => F[A])(implicit F: Functor[F]): Reader[AA, F[B]] =
Reader(aa => f(aa).map(r.run))
//generalization of the above in terms of Kleislis
def localFK[F[_], A, AA, B](r: Kleisli[Id, A, B])(f: AA => F[A])(implicit F: Functor[F]): Kleisli[F, AA, B] =
@zainab-ali
zainab-ali / symbols.md
Last active June 7, 2016 01:06
Cats symbols list
Symbol Name Typeclass import
` @ ` Cartesian Builder
=== Equals Eq cats.syntax.eq._
=!= Not Equals Eq cats.syntax.eq._
` + ` Semigroup plus
<+> SemigroupK combine SemigroupK cats.syntax.semigroupk._
~> Natural transformation N/A cats._
Bottom N/A cats._
Top N/A cats._
@zainab-ali
zainab-ali / drone.scala
Created February 26, 2017 18:45
drone dynamic
package drone
import fs2._
import java.time.Instant
import java.util.UUID
object Time {
def local: Task[Instant] = Task.delay(Instant.now())
}
object gist {
import shapeless._
trait Semigroup[A] {
def combine(a0: A, a1: A): A
}
implicit final class SemigroupCombineOps[A](a0: A)(implicit S: Semigroup[A]) {
def combine(a1: A): A = S.combine(a0, a1)