Instantly share code, notes, and snippets.

🙃

# Akim Boyko akimboyko

🙃
Created February 9, 2014 06:47

# Toy Problem: Missionaries and Cannibals

## Description

On one bank of a river are three missionaries (black triangles) and three cannibals (red circles). There is one boat available that can hold up to two people and that they would like to use to cross the river. If the cannibals ever outnumber the missionaries on either of the river’s banks, the missionaries will get eaten. How can the boat be used to safely carry all the missionaries and cannibals across the river?

Try to implement the general search algorithm just described. You can use LIFO and FIFO as queuing strategies to determine the order in which nodes are explored. These two strategies are known as depth-first and breadth-first search respectively. Be careful, depth-first search may descend down infinite branches, so best implement a depth cut-off. Then, extend your implementation with a hash table that stores all the nodes found so far. Print out a trace of the states the algorithm finds (in the order they are discovered) and see ho

Created May 4, 2014 05:30
Count number of letters written out in words without spaces or hyphens using F# and Humanizer https://github.com/MehdiK/Humanizer
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
 #r @"Humanizer.dll" open Humanizer [1 .. 1000] |> Seq.map (fun n -> Humanizer.NumberToWordsExtension.ToWords(n)) |> Seq.collect(fun writtenOutInWords -> writtenOutInWords.ToCharArray()) |> Seq.where(fun ch -> ch <> ' ') |> Seq.where(fun ch -> ch <> '-') |> Seq.length
Last active August 29, 2015 14:07
Terminal Kata
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
 namespace Terminal open System open System.Collections.Immutable [] type USD [] type Volume [] type Percent type Price =
Created December 1, 2014 06:46
Comparing executing time using Pseq and ParStream while preprocessing 1.4GB text file

## Using ParStream

• Real: 00:00:32.700, CPU: 00:02:01.165, GC gen0: 285, gen1: 80, gen2: 5
• Real: 00:00:31.421, CPU: 00:01:59.621, GC gen0: 234, gen1: 65, gen2: 4
• Real: 00:00:32.865, CPU: 00:02:02.335, GC gen0: 250, gen1: 70, gen2: 5
• Average 32328.7ms

## Using PSeq

• Real: 00:00:34.108, CPU: 00:02:06.470, GC gen0: 203, gen1: 58, gen2: 5
• Real: 00:00:33.386, CPU: 00:02:06.392, GC gen0: 224, gen1: 63, gen2: 5
• Real: 00:00:33.720, CPU: 00:02:07.764, GC gen0: 218, gen1: 63, gen2: 5
Last active August 29, 2015 14:10
Active Pattern sample from F#, THIS AINT A GAME by ANDREA MAGNORSKY http://www.roundcrisis.com/presentations/fsharp_this_aint_a_game/index.html#/
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
 let (|SpaceKey|) (keyboard:KeyboardInput) = keyboard.KeyPressed(Key.Space) let (|Hold100ms|) (keyboard:KeyboardInput) = keyboard.KeyPressedFor(Key.I, 100) match DualityApp.Keyboard with | SpaceKey true & Hold100ms false -> playerGo Jump | SpaceKey true & Hold100ms true -> playerGo DoubleJump
Created December 11, 2014 09:44
F# decompiled pattern matching
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
 // Decompiled with JetBrains decompiler // Type: FSharpParts.FSharpParts // Assembly: FSharpParts, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 54894392-FF35-398D-A745-038392438954 // Assembly location: D:\temp\SharpExperiments\FSharpParts\bin\Debug\FSharpParts.dll using CSharpParts; using Microsoft.FSharp.Core; namespace FSharpParts
Created January 18, 2015 13:25
F# Interactive configuration for Machine Learning tasks

# F# tricks

• Use 64-bit configuration. At Visual Studio switch 'Tools/Options/F# tools/F# Interactive/64-bit F# Interactive' should be "true"
• Tune `Fsi.exe` and `FsiAnyCPU.exe` configuration in “c:\Program Files (x86)\Microsoft SDKs\F#<version>\Framework<version>\” ** — specifies whether the common language runtime runs server garbage collection. ** — specifies whether the common language runtime runs garbage collection on a separate thread. ** — on 64-bit platforms, enables arrays that are greater than 2 gigabytes (GB) in total size.
Last active August 29, 2015 14:18
Configure and run Docker container for course "Text Retrieval and Search Engines" by ChengXiang Zhai at University of Illinois at Urbana-Champaign
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
 # How to build # docker build -t textretrieval-001 . # #run and name it # docker run --name meta -i -t textretrieval-001 # #run and mount directory # docker run -it -v /mnt/programming:/mnt/programming textretrieval-001:latest FROM ubuntu:latest MAINTAINER Akim Boyko "akim dot boyko at gmail.com" version: 0.1
Created September 12, 2012 19:54
Ninject Kernel with multiple Modules
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
 void Main() { var kernel = new Ninject.StandardKernel(new EntitieseModule(), new DocumentStoreModule(), new ModelRepositoryModule()); } public interface IModelRepository where T: IModel { //interface stuff here }
Created September 12, 2012 20:01
ConstructorArgument example
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
 void Main() { using(var kernel = new StandardKernel(new ExampleKernel())) { var d6 = kernel.Get(); var d20 = kernel.Get(new ConstructorArgument("numSides", 20)); d6.NumSides.Dump(); d20.NumSides.Dump(); }