Skip to content

Instantly share code, notes, and snippets.

View jcmrva's full-sized avatar

Josh M jcmrva

View GitHub Profile
#!/usr/bin/dotnet fsi
open System
open System.Collections.Generic
open System.Globalization
open System.IO
open System.Net.Http
open System.Numerics
open System.Text
@jcmrva
jcmrva / howtorunexefilesonlinux.md
Created February 15, 2026 03:00 — forked from TerryCavanagh/howtorunexefilesonlinux.md
How to run windows .exe files on Linux by just double clicking on them

Here's a little script I use to easily run windows exe files on Linux by just double clicking on them, like you would on windows. It uses Valve's Proton, and assumes you have Steam installed somewhere on Linux. I'm using Ubuntu with Gnome.

First, copy this shell script somewhere in your home directory. Mine is in /home/terry/scripts/protonlauncher.sh. (I didn't write this script, I found it on google)

#!/usr/bin/env bash

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <executable-path>"
    exit 1
@jcmrva
jcmrva / cake-test
Created August 29, 2023 23:33
testcontainers-dotnet-cake-output
----------------------------------------
Setup
----------------------------------------
Building version 3.5.0-beta of Testcontainers (develop@99ff0056990accb2272441d33e27bd36d14d4b72)
========================================
Clean
========================================
type Animal =
| Cat
| Dog
| Horse
type AnimalSize =
| CatLarge
| DogSmall
| HorseMedium
// ^ changing this to Horse will result in a compile error on the last line
@jcmrva
jcmrva / 1-single-case-active-pattern.fsx
Last active February 4, 2022 14:07
Single case active pattern used as a function before & after a Fantomas update
module AP =
let (|SC|) (i:int) = string i
let before = AP.``|SC|`` 1
// Fantomas 4.6.0-alpha-004
let after = AP.(|SC|) 2
// Fantomas 4.6.1
@jcmrva
jcmrva / .a-wordle-script
Last active March 18, 2022 14:05
Find remaining valid word options or check a word
A guess assistant, not a real solver.
import Http exposing (..)
toErrString : Http.Error -> String
toErrString err =
case err of
BadUrl s ->
"Bad URL: " ++ s
Timeout ->
"Timeout"
NetworkError ->
#r "paket:
nuget Fake.Core.Target
nuget SSH.NET //"
#load "./.fake/build.fsx/intellisense.fsx"
module Ssh =
open Renci.SshNet
open Fake.Core