Skip to content

Instantly share code, notes, and snippets.

Andrew Williams andy-williams

View GitHub Profile
@andy-williams
andy-williams / Main.cs
Created Mar 6, 2019
Get exceptions of all tasks with Task.WhenAll
View Main.cs
async Task Main()
{
var task1 = Task.Run(async () => {
await Task.Delay(500);
throw new Exception("Exception from task 1");
});
var task2 = Task.Run(() =>
{
throw new Exception("Exception from task 2");
});
@andy-williams
andy-williams / ApiController.cs
Created Mar 6, 2019
React inline error with asp.net Model State errors
View ApiController.cs
[Route("api/v1/account")]
[AllowAnonymous]
public class ApiController : Controller
{
[Route("login")]
public async Task<IActionResult>Login([FromBody] LoginRequest login)
{
if (ModelState.IsValid)
{
// ... logic
View shopify.liquid
{% for product in collection.products %}
{% capture everyThird %}{{ forloop.index | modulo: 3 }}{% endcapture %}
{% capture everyOnePastThird %}{{ forloop.index0 | modulo: 3 }}{% endcapture %}
{% if forloop.first == true or everyOnePastThird == '0' %}
<div class="row">
{% endif %}
{% include 'product-catalog-item' %}
{% if forloop.last == true or everyThird == '0' %}
View lumen-cheatsheet.md

Lumen / Laravel Cheat sheet

Install Lumen / Laravel

install global installer

composer global require "laravel/lumen-installer"

composer global require "laravel/installer"

start new project

View TermFinder.py
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 / sequential-vs-plinq-vs-mapreduce.cs
Created Jan 14, 2016
Embarrassingly parallel problem solved with different approaches
View sequential-vs-plinq-vs-mapreduce.cs
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);
}
View javascript-var-forgetting-var.js
(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 / TaskWaitAny.cs
Last active Jan 14, 2016
Task.WaitAny does not care when a task has finished
View TaskWaitAny.cs
void Main()
{
var task1 = Task.Factory.StartNew(() => {
Thread.Sleep(1);
return 1;
});
var task2 = Task.Factory.StartNew(() => {
Thread.Sleep(1);
return 2;
@andy-williams
andy-williams / map-reduce.cs
Last active Jan 20, 2016
Parallel Programming in C# : Patterns
View map-reduce.cs
// 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 / httpclient-warning.cs
Last active Dec 22, 2015
.NET HttpClient Warning
View httpclient-warning.cs
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/
You can’t perform that action at this time.