Skip to content

Instantly share code, notes, and snippets.

@mikesigs
mikesigs / DeleteExcludedFiles.ps1
Last active May 10, 2023 11:40
PowerShell Script to Find (and delete) all excluded files in a Visual Studio Solution
<#
.SYNOPSIS
Find all files excluded from a Visual Studio solution with options to delete.
.DESCRIPTION
Finds all excluded files in all projects in the provided Visual Studio solution with options to delete the files.
.PARAMETER Solution
The path to the .sln file
@cb372
cb372 / jargon.md
Last active January 10, 2026 21:11
Category theory jargon cheat sheet

Category theory jargon cheat sheet

A primer/refresher on the category theory concepts that most commonly crop up in conversations about Scala or FP. (Because it's embarassing when I forget this stuff!)

I'll be assuming Scalaz imports in code samples, and some of the code may be pseudo-Scala.

Functor

A functor is something that supports map.

@mslinn
mslinn / PomToSbt.scala
Last active March 18, 2022 01:10
Convert pom.xml to build.sbt
import scala.xml._
// To convert a Maven pom.xml to build.sbt:
// 1) Place this code into a file called PomToSbt.scala next to pom.xml
// 2) Type scala PomtoSbt.scala > build.sbt
// The dependencies from pom.xml will be extracted and place into a complete build.sbt file
// Because most pom.xml files only refernence non-Scala dependencies, I did not use %%
val lines = (XML.load("pom.xml") \\ "dependencies") \ "dependency" map { dependency =>
val groupId = (dependency \ "groupId").text
val artifactId = (dependency \ "artifactId").text
@bishboria
bishboria / springer-free-maths-books.md
Last active July 22, 2026 02:28
Springer made a bunch of books available for free, these were the direct links
@danijar
danijar / blog_tensorflow_sequence_classification.py
Last active December 24, 2021 03:53
TensorFlow Sequence Classification
# Example for my blog post at:
# https://danijar.com/introduction-to-recurrent-networks-in-tensorflow/
import functools
import sets
import tensorflow as tf
def lazy_property(function):
attribute = '_' + function.__name__
@jdegoes
jdegoes / Advanced Functional Programming in Scala Training - ScalaWorld 2016.md
Created July 21, 2016 14:19
Advanced Functional Programming in Scala Training - ScalaWorld 2016
  1. Kiss type confusion goodbye as you learn to understand complex type signatures: T[_[_, _], _], T[({type λ[A]=F[A, K]})#λ].
  2. Level up your ability to write higher-order functions and define combinators to construct larger programs from smaller ones
  3. Learn how you can use rank-N types to program at a higher-level of abstraction, with strong correctness guarantees
  4. Discover how existentials help you compose functionality without exploding the size of type signatures
  5. Master type classes to generate generic, testable code without the tangling and non-local reasoning of inheritance
  6. Use "functional design patterns" like a boss, including functors, applicatives, monads, profunctors, monoids, and others
  7. Have your immutable cake and eat it too with "optics" that let you manipulate complex data structures with ease
  8. Traverse your own data structures without writing any recursive code through powerful, composable, generic recursion schemes
  9. Model effects with powerful, purely functional techniq
@MasseGuillaume
MasseGuillaume / ProcessBuilder.md
Last active April 29, 2017 21:03
scala.sys.process.ProcessBuilder

ProcessBuilder

Signature Proposed Name Scaladoc
!(log: ProcessLogger): Int exitValue Starts the process represented by this builder, blocks until it exits, and returns the exit code.
!: Int exitValue Ibid.
!&lt;(log: ProcessLogger): Int exitValueStdIn Ibid.

Applied Functional Programming with Scala - Notes

Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.

1. Mastering Functions

A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.

val square : Int => Int = x => x * x
@fancellu
fancellu / TryFlatten.scala
Created April 11, 2017 00:44
A few ways to flatten down a Seq[Try] to only Success values
import scala.util.{Success, Failure}
val seq=Seq(Success(1), Failure(new Exception("bang")), Success(2))
// all emit List(1, 2)
seq.map(_.toOption).flatten
seq.flatMap(_.toOption)
seq.filter(_.isSuccess).map(_.get)
seq.collect{case Success(x) => x}