Skip to content

Instantly share code, notes, and snippets.

go to docker.com and create an account. download the appropriate docker desktop installer for your computer and install
Then you will need to create a file called docker-compose.yml in some directory on your hard drive
@hyrmn
hyrmn / 0_ColorBoxes.cs
Created September 22, 2021 05:18
Some algos to draw things from things. For all of these, Install-Package SixLabors.ImageSharp.Drawing -Version 1.0.0-beta11
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing;
using SixLabors.ImageSharp.Drawing.Processing;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
var destWidth = 1920;
var destHeight = 1080;
using var image = new Image<Rgba32>(destWidth, destHeight);
@hyrmn
hyrmn / LineCounter.cs
Last active September 10, 2021 21:09
Surprisingly slower
using System.Numerics;
namespace nlc;
public class LineCounter
{
public const int BufferSize = 128 * 1024;
private const byte rune = (byte)'\n';
private static readonly Vector<byte> mask = new(rune);
@hyrmn
hyrmn / 00_OldReliable.cs
Last active October 10, 2021 00:42
Ways to swap numbers (.NET 6.0)
using System.Diagnostics;
int x = 10;
int y = 20;
var tmp = x;
x = y;
y = tmp;
Debug.Assert(x == 20);
@hyrmn
hyrmn / why.cs
Created September 1, 2021 04:45
RSS + media thumbnail with XLinq and I don't know why
record Pan(string Style, decimal Price, string ProductUrl, string ThumbnailUrl)
{
public XElement ToRss(XNamespace mediaNs)
{
return new XElement("item",
new XElement("title", Style),
new XElement("description", $"Buy now for {Price}"),
new XElement("link", ProductUrl),
new XElement(mediaNs + "thumbnail", new XAttribute("url", ThumbnailUrl))
);
@hyrmn
hyrmn / program.cs
Created March 5, 2021 20:01
File manipulation with ImageSharp
import the following nuget package:
> Install-Package SixLabors.ImageSharp.Drawing -Version 1.0.0-beta11
@hyrmn
hyrmn / lambda.md
Created July 1, 2020 04:17
Method groups are slower!!!!!!!!1
public void MapUserWithStaticMapper2()
{
    var users = new[]
    {
        new User(1, "Bob Almighty", "Green", DateTimeOffset.Now),
        new User(2, "Alice Wunder", "Orange", DateTimeOffset.Now)
    };

 var view = users.Select(u =&gt; UserSummary.MapFrom(u));
set-alias -name npp -value "${env:ProgramFiles}\Notepad++\notepad++.exe"
set-alias -name ed -value "code"
remove-item alias:curl -EA SilentlyContinue
$DefaultUser = 'hyrma'
# Chocolatey profile
$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
if (Test-Path($ChocolateyProfile)) {
Import-Module "$ChocolateyProfile"
@hyrmn
hyrmn / hello.zig
Created January 27, 2020 03:41
Reading a file and counting carriage returns in Zig 0.5.x+master
const std = @import("std");
const os = std.os;
const fs = std.fs;
const File = std.fs.File;
pub fn main() !void {
const stdout = &std.io.getStdOut().outStream().stream;
//try stdout.print("Hello, {}!\n", .{"world"});
var file = try fs.openFileAbsolute("c:\\data\\bigsum.txt", File.OpenFlags{});
defer file.close();
@hyrmn
hyrmn / netcore linecount
Created January 21, 2020 01:49
netcore 3.1. hardcoded to the location of a 1.6gb text file
class Program
{
static void Main(string[] args)
{
var count = 0;
using var reader = File.OpenText(@"C:\code\go\src\github.com\hyrmn\lc\pkg\lc\testdata\bigsum.txt");
var buffer = new Span<char>(new char[1024]);
int readLength;