Skip to content

Instantly share code, notes, and snippets.

@crozone
crozone / AsyncLock.cs
Created July 13, 2023 02:28
C# AsyncLock based on SemaphoreSlim
public class AsyncLock
{
private readonly SemaphoreSlim semaphore = new SemaphoreSlim(1, 1);
private readonly Task<IDisposable> releaser;
public AsyncLock()
{
releaser = Task.FromResult((IDisposable)new AsyncLockReleaser(this));
}
@StephenCleary
StephenCleary / TaskDictionary.cs
Last active July 26, 2024 20:32
A concurrent dictionary of tasks that can be resolved by key.
public sealed class TaskDictionary<TRequest, TResult>
where TRequest : notnull
{
public TaskDictionary(IEqualityComparer<TRequest>? comparer = null)
{
_dictionary = new(comparer);
}
public Task<TResult> GetOrAdd(TRequest request)
{
@santaklouse
santaklouse / CrossOver.sh
Last active September 20, 2024 03:55
unlimited CrossOver trial (MacOS)
#!/usr/bin/env bash
# checck if pidof exists
PIDOF="$(which pidof)"
# and if not - install it
(test "${PIDOF}" && test -f "${PIDOF}") || brew install pidof
# find app in default paths
CO_PWD=~/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || CO_PWD=/Applications/CrossOver.app/Contents/MacOS
@badamczewski
badamczewski / BitSet.cs
Created December 1, 2020 13:08
BloomFilter Source Code
using System;
using System.Collections.Generic;
using System.Text;
namespace ProbabilisticDataStructures.DataStructures
{
public class BitSet
{
private ulong[] bitset;
public int Size { get; private set; }
@guycalledseven
guycalledseven / manual-uninstall-parallels.sh
Last active July 10, 2024 11:54
Manually remove Parallels Desktop v15 leftovers MacOS
# used different forum posts/guides to figure this out like:
# The uninstall script is located at /Library/Parallels/Parallels Service.app/Contents/Resources
# https://github.com/danijeljw/remparallels/blob/master/remprls.sh
# https://kb.parallels.com/122461
# sudo find / -iname "*parallels*"
# sudo find / -iname "*prl*"
#before uninstalling deactivate your licencse - this won't be possible after uninstall
prlsrvctl deactivate-license
@zHaytam
zHaytam / Socks5.cs
Last active April 30, 2024 06:05
A Socks5 implementation in .NET Core (C# 8)
using System;
using System.Globalization;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace Socks
{
public static class Socks5
@LordJZ
LordJZ / SpanSplitExtensions.cs
Created August 9, 2018 18:04
Split for Span
using System;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;
public static class SpanSplitExtensions
{
public ref struct Enumerable1<T> where T : IEquatable<T>
{
public Enumerable1(ReadOnlySpan<T> span, T separator)
{
@ToruNiina
ToruNiina / branchless_ReLU.c
Created July 9, 2018 12:35
branchless ReLU implementation (with bitwise operations)
// copyright Toru Niina 2018. distributed under the Boost Software License v1.0.
// it provides an implementation of ReLU without branching.
// the core idea of branchless-ReLU is the following.
// 1. first, bitwise-and with 0 bits everytime returns 0 bits. but bitwise-and
// with 1 bits returns the original argument kept intact.
// 0000 & 1010 == 0000, 1111 & 1010 == 1010
// 2. second, we can make 0 bits or 1 bits depending on the sign bit by applying
// right arithmetic shift 31 times.
// 1000 >> 31 == 1111, 0110 >> 31 == 0000
@derofim
derofim / Readme.md
Created April 1, 2017 18:07
OpenCV 3.2.0 Features2D + Homography to find a known object

Description

Features2D + Homography to find a known object http://docs.opencv.org/3.2.0/d9/d97/tutorial_table_of_content_features2d.html ported to OpenCV 3.2.0

Setup

  1. git clone -b 3.2.0 --depth 1 --recursive https://github.com/opencv/opencv_contrib.git
  2. git clone -b 3.2.0 --depth 1 --recursive https://github.com/opencv/opencv.git
  3. Create bat script (Windows):
@echo off
REM git clone -b 3.2.0 --depth 1 --recursive https://github.com/opencv/opencv_contrib.git
REM OR Download https://github.com/opencv/opencv_contrib/archive/3.2.0.zip