Skip to content

Instantly share code, notes, and snippets.

View ryanlewis's full-sized avatar

Ryan Lewis ryanlewis

  • Leeds, United Kingdom
  • 22:30 (UTC)
View GitHub Profile
@ryanlewis
ryanlewis / sort-teams.js
Created December 15, 2021 16:20
Sort a series of players by a rank into a series of teams
const points = {
'immortal': 7,
'diamond': 6,
'platinum': 5,
'gold': 4,
'silver': 3,
'bronze': 2,
'iron': 1,
};
@ryanlewis
ryanlewis / leaky_bucket.lua
Created March 16, 2021 00:06 — forked from florentchauveau/leaky_bucket.lua
Redis script (Lua) to implement a leaky bucket
-- Redis script to implement a leaky bucket
-- see https://medium.com/callr-techblog/rate-limiting-for-distributed-systems-with-redis-and-lua-eeea745cb260
-- (c) Florent CHAUVEAU <[email protected]>
local ts = tonumber(ARGV[1])
local cps = tonumber(ARGV[2])
local key = KEYS[1]
-- remove tokens < min (older than now() -1s)
local min = ts -1
@ryanlewis
ryanlewis / copy-k8s-resources-across-namespaces.sh
Created July 25, 2017 19:36 — forked from simonswine/copy-k8s-resources-across-namespaces.sh
Copying kubernetes resources accross namespaces
kubectl get rs,secrets -o json --namespace old | jq '.items[].metadata.namespace = "new"' | kubectl create-f -
@ryanlewis
ryanlewis / ContourInAnonymousLoadBalancing.cs
Created July 27, 2016 12:47
Using Umbraco Contour in an anonymous load balanced scenario (v7.3+)
public class ContourFormRefreshPayload
{
public Guid Id { get; set; }
}
public class ContourFormCacheRefresher : JsonCacheRefresherBase<ContourFormCacheRefresher>
{
public static string Id = "AA2970FD-8785-42C2-A289-A7A6614CAE45";
protected override ContourFormCacheRefresher Instance => this;
public override Guid UniqueIdentifier => new Guid(Id);
@ryanlewis
ryanlewis / ConfigureLuceneIndexing.cs
Created August 18, 2015 18:48
Hooking into the Lucene events with Umbraco
using System.Web.UI;
using Examine;
using Examine.LuceneEngine;
using Examine.LuceneEngine.Providers;
using Umbraco.Core;
using Umbraco.Web;
namespace AMAZINGWEBSITE.Web.Core.ApplicationEventHandlers
{
public class ConfigureLuceneIndexing : IApplicationEventHandler
@ryanlewis
ryanlewis / StringExtensions.cs
Last active August 31, 2016 08:14
.FormatWith() extension method that we use with some of our Umbraco sites
using System;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
namespace MyUmbracoSite.Core.Extensions
{
public static class StringExtensions
{
// http://bendetat.com/the-greatest-string-formatwith-implementation-in-the-world.html
@ryanlewis
ryanlewis / sublime.reg
Created March 12, 2015 09:58
Add "Open folder as Sublime project" to Explorer right-click menu
Windows Registry Editor Version 5.00
; This will make it appear when you right click ON a folder
; The "Icon" line can be removed if you don't want the icon to appear
[HKEY_CLASSES_ROOT\Directory\shell\sublime]
@="Open Folder as &Sublime Project"
"Icon"="\"C:\\Program Files\\Sublime Text 3\\sublime_text.exe\",0"
[HKEY_CLASSES_ROOT\Directory\shell\sublime\command]
@ryanlewis
ryanlewis / RedirectToParent.cshtml
Created November 4, 2014 13:59
Redirect to Parent page template
@inherits UmbracoTemplatePage
@{
var parent = Model.Content.Parent;
while (true)
{
if (parent.TemplateId > 0 && parent.TemplateId != Model.Content.TemplateId)
{
break;
}
parent = parent.Parent;
@ryanlewis
ryanlewis / your.csproj
Created July 25, 2014 15:15
How we add all assets in our Web projects
<Project>
<Target Name="BeforeBuild">
<Exec WorkingDirectory="..\.." Command="powershell.exe .\grunt-build.ps1 -target $(Configuration)" />
<ItemGroup>
<Content Include="css\**\*.css" />
<Content Include="js\**\*.js" />
<Content Include="js\**\*.js.map" />
<Content Include="fonts\**\*.*" />
<Content Include="img\**\*.png" />
<Content Include="img\**\*.gif" />
@ryanlewis
ryanlewis / umbraco-jul-fix.ps1
Created July 22, 2014 10:54
Powershell script to resolve the Umbraco security advisory released 21 July 2014
Param(
[Parameter(Mandatory=$true)] $path
)
$proxyHtm = @"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Repo proxy</title>
</head>