Skip to content

Instantly share code, notes, and snippets.

View JKamsker's full-sized avatar

Jonas Kamsker JKamsker

View GitHub Profile
@JKamsker
JKamsker / BoolWatcher.cs
Created April 14, 2017 22:10
Watches constantly on the result of a func and executes an action if true
internal class BwHelper
{
public object SessObj { get; set; }
public Func<object, bool> CheckingAlg { get; set; }
public Action<bool, object> StatusChange { get; set; }
public bool doCallbackOn { get; set; }
public bool lastResult { get; set; }
public double NextCheck { get; set; }
public double Interval { get; set; }
@JKamsker
JKamsker / DictionarySerializer.cs
Last active May 20, 2017 00:51
A simple Dictionary<T,TX> serializer
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
public static class Usage
{
public static void Use()
@JKamsker
JKamsker / WpfDictionaries.cs
Last active July 3, 2017 14:15
Add merged directories from the codebehind
//Sample Usage for mahapps:
//WpfDictionaries.AddDirectories("MahApps.Metro", "component/Styles", new string[] { "Controls", "Fonts", "Colors", "Accents/Blue", "Accents/BaseLight" }, "xaml");
internal class WpfDictionaries
{
public static void AddDirectories(string domain, string prefix, IEnumerable<string> fileNames, string suffix)
{
fileNames.ForEach(x =>
{
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary
public class FifoStream : Stream
{
private readonly Queue<byte[]> _localBuffer = new Queue<byte[]>();
private int _currentStreamOffset = 0;
private long _length;
public override void Flush()
{
throw new NotImplementedException();
}
private static byte[] Decrypt(byte[] Data, int Offset)
{
MemoryStream memoryStream = new MemoryStream();
int num = 0;
byte b = 0;
for (;;)
{
byte b2 = Data[num + Offset];
if (b2 == 0)
{
public class FifoStream2 : Stream
{
private static readonly ConcurrentQueue<CByte> _ringBuffer = new ConcurrentQueue<CByte>();
static FifoStream2()
{
for (int i = 0; i < 1000; i++)
_ringBuffer.Enqueue(new CByte());
}
private static void TestFifo(Stream cStream)
{
int readbytes;
int crbytes;
var buf = new byte[10 * 1024 * 1024];
var cBuf = new byte[255 * 1024];
var sInfo = new FileInfo(@"D:\Work\Video Editing\Raw\Overwatch\Overwatch 10.17.2017 - 23.59.39.01.mp4");
var dInfo = new FileInfo(@"D:\Work\Video Editing\Raw\dst.mp4");
public class FastList<T>
{
private readonly List<T> _internalList = new List<T>();
public int Count => _count;
private int _count;
private int _freeIndex;
public T this[int index] => _internalList[index];
public int Add(T input)
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using JSocket.Utilities.Extensions;
@JKamsker
JKamsker / XoRCrypto.cs
Last active November 17, 2017 01:39
Lighning fast xor crypt
using System.Runtime.CompilerServices;
namespace TestingEnv
{
internal class XoRCrypto
{
private readonly int[] _keyChain;
private int _ckey;
public XoRCrypto(int[] chain = null)