Skip to content

Instantly share code, notes, and snippets.

View andy-williams's full-sized avatar

Andrew Williams andy-williams

View GitHub Profile
@andy-williams
andy-williams / by-call.js
Last active August 29, 2015 14:23
Reuse your render method to be standardised
myNameSpace.backboneExtensions.methods.render = function() {
this.$el.html(this.tmpl(this.model.attributes));
return this;
}
MyView = Backbone.View((function() {
var myRender = myNameSpace.backboneExtensions.methods.render;
return {
// your properties
@andy-williams
andy-williams / xoxo.pl
Created June 23, 2015 17:04
Some old code I've written during my time in University. This is a tic-tact-toe game written entirely in prolog. Includes board generator and support for 2 players.
/*************************************************
* CHA 2555 - ARTIFICIAL INTELLIGENCE (2012-2013)
* Andrew Williams
* u0857629@unimail.hud.ac.uk
* BSc (Hons) Software Development
************************************************/
/********
* XOXO
********
@andy-williams
andy-williams / httpclient-warning.cs
Last active December 22, 2015 21:44
.NET HttpClient Warning
void Main()
{
using(var stream = File.Open(@"D:\test.txt", FileMode.Open))
using(var httpClient = new HttpClient())
{
stream.Dump();
var httpContent = new StreamContent(stream);
// pretty sweet test server by Henry Cipolla
// http://henrycipollablog.com/2011/12/06/testing-multipartform-data-uploads-with-post-test-server/
@andy-williams
andy-williams / map-reduce.cs
Last active April 16, 2022 18:56
Parallel Programming in C# : Patterns
// Problem:
// We have lots of data that we want to process that can be easily parallelised
// We want to process all our data and combine the results
// "Map is an idiom in parallel computing where a simple operation is applied to all elements of a
// sequence, potentially in parallel.[1] It is used to solve embarrassingly parallel problems: those
// problems that can be decomposed into independent subtasks, requiring no
// communication/synchronization between the subtasks except a join or barrier at the end."
// - https://en.wikipedia.org/wiki/Map_(parallel_pattern)
void Main()
@andy-williams
andy-williams / TaskWaitAny.cs
Last active January 14, 2016 09:27
Task.WaitAny does not care when a task has finished
void Main()
{
var task1 = Task.Factory.StartNew(() => {
Thread.Sleep(1);
return 1;
});
var task2 = Task.Factory.StartNew(() => {
Thread.Sleep(1);
return 2;
(function() {
myVar = 1;
console.log("myVar should be 1: " + myVar); // should be 1
setTimeout(function() {
console.log("myVar should be 1, but isn't: " + myVar); // should be 1, but isn't
}, 100);
})();
(function() {
myVar = 2;
@andy-williams
andy-williams / sequential-vs-plinq-vs-mapreduce.cs
Created January 14, 2016 15:38
Embarrassingly parallel problem solved with different approaches
void Main()
{
Stopwatch sw;
var ints = Enumerable.Range(0, 25000);
Func<int, double> func = (x) => {
double result = 0;
for(var i = 0; i < x; i++) {
result += Math.Cos(i);
}
class TermFinder:
@staticmethod
def find_terms(to_search, terms):
resultDict = {}
for term in terms:
resultDict[term] = TermFinder._find_term(to_search, term)
return resultDict
@staticmethod
def _find_term(to_search, term):
@andy-williams
andy-williams / lumen-cheatsheet.md
Last active December 4, 2022 23:07
Lumen cheat sheet

Lumen / Laravel Cheat sheet

Install Lumen / Laravel

install global installer

composer global require "laravel/lumen-installer"

composer global require "laravel/installer"

start new project