-
ML, level 1 by Prof. Andrew Ng: Machine Learning, Website
-
ML, level 1 by Prof. Andrew Ng: Machine Learning, Website, Lecture Notes, Videos
-
ML, level 1 by Prof. Nando de Freitas: Machine Learning & Data Mining, Website, Lecture Notes, Videos
-
ML, level 2 by Prof. Nando de Freitas: Machine Learning, Website, Lecture Notes, [Videos](https://www.youtube.com/playlist?list=PLE6Wd9FR--EdyJ5lb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum Sharp: Int { case C = 0, G, D, A, E, B, F } | |
func sKeyForNote(n: Sharp) -> [Sharp] { | |
return (0..<n.rawValue) | |
.map{ n in (n + 6) % 7 } | |
.flatMap(Sharp.init) | |
} | |
enum Flat: Int { case F = 1, B, E, A, D, G } |
I hereby claim:
- I am adamnemecek on github.
- I am adamnemecek (https://keybase.io/adamnemecek) on keybase.
- I have a public key ASAYuMz0BsFIrC7WD0_ZdesQuR0yrAOmRH6ZJlp_7CF-1wo
To claim this, I am signing this object:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// MIT License | |
// Copyright (c) 2017 Lachlan Hurst | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- credit goes to sigfpe | |
{-# LANGUAGE MultiParamTypeClasses | |
,TemplateHaskell | |
,GeneralizedNewtypeDeriving | |
,DeriveFunctor | |
,FunctionalDependencies | |
,FlexibleInstances | |
,UndecidableInstances | |
,FlexibleContexts | |
,Rank2Types #-} |
For background and further references see: Entity Component Systems on Wikipedia
ECS by Scott Bilas (GDC 2002)
entity
= class: no logic + no data OR at most small set of frequently used data (ie position)component
= class: logic + data
foreach entity in allEntities do
foreach component in entity.components do
Adjointness expresses a condition that is essentially universal in mathematics, category theory, probability, logic, optimization, machine learning.
What is adjointness? Depends on the context.
This page is really illuminating.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"version": "0.2.0", | |
"configurations": [ | |
{ | |
"type": "lldb", | |
"request": "launch", | |
"name": "Debug", | |
"program": "${workspaceRoot}/target/debug/${workspaceRootFolderName}", | |
"args": [], | |
"cwd": "${workspaceRoot}", |
Peter Naur's classic 1985 essay "Programming as Theory Building" argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it's lossy, so you can't reconstruct
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct User : Equatable { | |
let id: UInt | |
let selected: Bool | |
} | |
var z = (0...10).map { User(id: $0, selected: $0 == 3 || $0 == 6 || $0 == 10) } | |
var q = (0...10).map { User(id: $0, selected: $0 == 3 || $0 == 6 || $0 == 10) } | |
z.gather(at: 0) { $0.selected } | |
z.gather(at: 5) { $0.selected } |