Skip to content

Instantly share code, notes, and snippets.

View guitarrapc's full-sized avatar
:octocat:

Ikiru Yoshizaki guitarrapc

:octocat:
View GitHub Profile
@guitarrapc
guitarrapc / Allow-WSL2UuntuFirewall.ps1
Created June 12, 2022 15:14
Allow WSL2 Ubuntu 22.04 to access Host Windows Docker Desktop (Windows 11 21H2)
# set this on Windows TaskScheduler with `At Logon, Run with highest priviledge, Delay task for 1min`
wsl.exe -d Ubuntu-22.04 --exec cat /etc/resolv.conf
Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)" -Name Public
void Main()
{
// 符号なし (unsigned) の 0xFF = 255
byte u = 0xFF;
// 符号付き (signed) の 0xFF = -1
sbyte s = (sbyte)u;
// 符号なしを右シフトすると、左端には 0 が入る。
// 11111111 FF
@guitarrapc
guitarrapc / ExponentialBackoff.cs
Last active June 1, 2022 10:40
ExponentialBackoff Implemantation via C#.
public class ExponentialBackoff
{
private readonly int _delayMilliseconds;
private readonly int _maxDelayMilliseconds;
public int Retries => _retries;
private int _retries;
private int _pow;
public ExponentialBackoff(int delayMilliseconds, int maxDelayMilliseconds)
{
name: README embed-code
on:
workflow_dispatch:
pull_request:
branches: ["main"]
jobs:
embed-code:
runs-on: ubuntu-latest
This is a *markdown* document with a code block:

```ts
// src/example.ts

export function helloWorld(name: string): string {
  return `Hello ${name}!, how are you today?`;
}
This is a *markdown* document with a code block:

```ts
// src/example.ts
@guitarrapc
guitarrapc / kustomization.yaml
Last active May 6, 2022 07:12
Agones configMapGenerator suffix hash reference in Agones GameServer and Fleet.
bases:
- ../../agones/overlays/dev
- ../../configmap/overlays/dev
configurations:
- nameref.yaml
public static class TaskExtentions
{
public static Task<TResult[]> WhenAllFailFast<TResult>(IEnumerable<Task<TResult>> tasks)
{
return WhenAllFailFast(tasks.ToArray());
}
public static Task<TResult[]> WhenAllFailFast<TResult>(params Task<TResult>[] tasks)
{
if (tasks is null) throw new ArgumentNullException(nameof(tasks));
if (tasks.Length == 0) return Task.FromResult(new TResult[0]);
@guitarrapc
guitarrapc / CancelCancellationTokenSource.cs
Last active April 15, 2022 02:26
C# CancellatonSource Status when Cancel on cts or LinkedCancellationSource.
// cancel on Source CancellationTokenSource
async Task Main()
{
using var cts = new CancellationTokenSource();
var ct = cts.Token;
var task = FooAsync(ct);
await Task.Delay(TimeSpan.FromSeconds(3));
cts.Cancel();
cts.Dump("cts"); // IsCancellationRequested True
}
@guitarrapc
guitarrapc / command.sh
Created March 15, 2022 07:46
Connect redis-cli in Docker to TLS Encypted ElastiCache Redis Cluster.
# run on host...
docker run -it --entrypoint /bin/bash redis
# run inside docker...
apt-get update
apt-get install -y stunnel net-tools
cat <<EOF > /etc/stunnel/redis-cli.conf
fips = no
setuid = root
setgid = root
pid = /var/run/stunnel.pid