Skip to content

Instantly share code, notes, and snippets.

View mr5z's full-sized avatar
🎯
Focusing

mark mr5z

🎯
Focusing
View GitHub Profile
@mr5z
mr5z / RateLimiter.cs
Last active April 21, 2021 15:48
hypersapien
//Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseIpRateLimiting();
app.UseClientRateLimiting();
// the rest
}
public void ConfigureServices(IServiceCollection services)
@mr5z
mr5z / productrest.cs
Last active April 20, 2021 12:22
Y_Y
IProductGet : IGet<List<Product>>
IProductPost : IPost<Product, Product>
IProductDelete : IDelete<Product, long>
class ProductRest :
IProductGet,
IProductPost,
IProductDelete
{
public async Task<List<Product>> Get(CancellationToken cancellationToken)
@mr5z
mr5z / neil.php
Last active March 26, 2021 14:19
1k lang
<html>
<head>
<style>
#customers {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#customers td, #customers th {
@mr5z
mr5z / AdaptiveCommand.cs
Created March 2, 2021 13:29
Smart and Non-async/Async implementation of ICommand
// You need Prism though :)
public class AdaptiveCommand : DelegateCommand
{
private const double DefaultInvocationDelay = 0.7;
public double InvocationDelayInSeconds { get; set; }
private DateTime lastInvokeTime = DateTime.MinValue;
private readonly Func<bool>? canExecute;
@mr5z
mr5z / GetCaves.cs
Created January 21, 2021 09:02
get caves
// GET: api/Cave
[HttpGet]
public async Task<ActionResult<IEnumerable<CaveDto>>> GetCave([FromQuery]Pager pager)
{
var caveQuery =
from cave in context.Cave
join user in context.User on cave.AuthorId equals user.Id
join map in context.Map on cave.Id equals map.CaveId
let score =
(
from cave in context.Cave
join user in context.User on cave.AuthorId equals user.Id
join map in context.Map on cave.Id equals map.CaveId
let score =
(
from score in context.Score
where score.CaveId == cave.Id && score.UserId == user.Id
select score.MaxScore
).Sum()
let paths =
@mr5z
mr5z / crap.js
Last active January 17, 2021 08:58
Longest way to implement extended hamming code error detection. It doesn't even have a correction capability.
function isEven(n) {
return n % 2 == 0;
}
function getColumnSum(column, block, skipFirst) {
return (skipFirst ? 0 : block[column + 0]) +
block[column + 4] +
block[column + 8] +
block[column + 12];
}
@mr5z
mr5z / BaseCommand.cs
Created January 13, 2021 09:53
DelegateCommand wrapper
public class BaseCommand : DelegateCommand
{
public double InvocationDelayInSeconds { get; set; }
private DateTime lastInvokeTime = DateTime.MinValue;
private readonly Func<bool> canExecute;
public BaseCommand(
Action executeAction,
using System;
using System.Runtime.InteropServices;
namespace TestCsharpConsole
{
public static class ConsoleHelper
{
public static void Write(int left, int top, string text, ConsoleColor color = ConsoleColor.White)
{
Console.ForegroundColor = color;
@mr5z
mr5z / AsyncGotcha.cs
Created December 26, 2020 16:05
Aaaa
// Correct
public static async Task<string> StreamToString(Stream stream)
{
using var reader = new StreamReader(stream);
return await reader.ReadToEndAsync();
}
// Incorrect
public static Task<string> StreamToString(Stream stream)
{