Skip to content

Instantly share code, notes, and snippets.

atifaziz / NCrontabFieldsDemo.csproj
Created Nov 7, 2020
NCrontab demo showing direct use of CrontabField
View NCrontabFieldsDemo.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PackageReference Include="ncrontab" Version="3.3.1" />
atifaziz / Util.linq
Last active Aug 27, 2020
LINQPadless helper for LINQPad's Util 📄
View Util.linq
<Query Kind="Program">
atifaziz / WebLinqData.linq
Last active Sep 20, 2020
LINQPad helper for WebLINQ
View WebLinqData.linq
<Query Kind="Program">
<NuGetReference Version="4.0.0">System.Reactive</NuGetReference>
<NuGetReference Version="4.5.0">System.Text.Encoding.CodePages</NuGetReference>
<NuGetReference Version="1.0.0-alpha-20200416" Prerelease="true">WebLinq</NuGetReference>
atifaziz / CowSay.linq
Last active Aug 26, 2020
dotnet-coway as a LINQPad C# Query Program (
View CowSay.linq
<Query Kind="Program">
<NuGetReference Version="1.0.0">Kurukuru</NuGetReference>
<NuGetReference Version="2.2.4">McMaster.Extensions.CommandLineUtils</NuGetReference>
<NuGetReference Version="11.0.2">Newtonsoft.Json</NuGetReference>
atifaziz / test.csx
Last active Aug 17, 2020
FileOptions.DeleteOnCode test for my StackOverflow answer
View test.csx
using System.IO;
var fileName = Path.GetRandomFileName();
Console.WriteLine($"File name: {fileName}");
Console.WriteLine($"Exists? {File.Exists(fileName)}");
using (var fs = File.Create(fileName, 4096, FileOptions.DeleteOnClose))
Console.WriteLine($"Exists? {File.Exists(fileName)}");
Console.WriteLine($"Exists? {File.Exists(fileName)}");
View OptupleCost.cs
using System;
public class C {
public void M((bool, object) x) {
if (x is (true, {} obj)) {
public void N(bool f, object obj) {
if (f) {
atifaziz / sorting.js
Last active May 28, 2020
Two techniques demonstrating sorting time strings
View sorting.js
times = [ '12:00', '10:00', '12:15', '09:30' ]
// simple way
// relies on string comparison operators (`<` and `>`)
sorted = [...times].sort((a, b) => a > b ? 1 : a < b ? -1 : 0)
// sorted = [ '09:30', '10:00', '12:00', '12:15' ]
// complicated way
// - split time on ":" into two parts: hours and minutes
atifaziz /
Last active Feb 28, 2020
Demo that RyuJIT eliminates unreachable "typeof(T)==typeof(…)" branches in generic instantiations of a method

What's this?

Found an interesting [comment] in SqlDataReader's source code:

// this block of type specific shortcuts uses RyuJIT jit behaviours to achieve fast implementations of the primitive types
// RyuJIT will be able to determine at compilation time that the typeof(T)==typeof(<primitive>) options are constant
// and be able to remove all implementations which cannot be reached. this will eliminate non-specialized code for 
atifaziz / BuilderAsMonoid.csx
Last active Feb 21, 2020
A less ceremonial approach to “explicit endomorphism” presented by Mark Seemann in “Builder as a monoid”
View BuilderAsMonoid.csx
// This script is related the following blog entry by Mark Seeman titled,
// "Builder as a monoid":
// It demonstrates a simpler approach to avoid the ceremony of "explicit
// endomorphism" by using merely delegates. It does so by replacing
// "IEndomorphism<T>" with "Func<T, T>" and then using "+" in lieu of
// "AppendEndomorphism<T>" to achieve the same effect.
atifaziz / pack-priv.cmd
Created Jan 22, 2020
Windows batch for local/private NuGet packaging of projects
View pack-priv.cmd
@echo off
for /f "usebackq" %%f in (`PowerShell -C "([datetimeoffset](git ls -1 --pretty=%%cI)).ToUniversalTime().ToString('yyyyMMdd''T''HHmm')"`) do set COMMIT_TIMESTAMP=%%f
if not %ERRORLEVEL%==0 exit /b %ERRORLEVEL%
call "%~dp0pack.cmd" priv-%COMMIT_TIMESTAMP%
exit /b %ERRORLEVEL%