Skip to content

Instantly share code, notes, and snippets.

@maurges
maurges / Main.purs
Created April 6, 2020 10:22
Mozilla example extension number 1 rewritten in purescript
module Main where
import Prelude
import Effect (Effect)
import Vanilla.Dom.Document (body)
import Vanilla.Dom.Element (setStyle)
main :: Effect Unit
main =
@maurges
maurges / Main.hs
Created April 14, 2020 09:17
A simple servant app with redirects; also different content-types
{-# LANGUAGE DataKinds, DeriveGeneric, PolyKinds, TypeFamilies, TypeOperators #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Main where
import Data.ByteString.Lazy (ByteString)
@maurges
maurges / Main.js
Created April 20, 2020 12:51
Purescript Console.log for multiple arguments
"use strict";
exports.consoleLog = function(arr) {
return function() {
console.log.apply(null, arr);
}
}
exports.anySnoc = function(arr) {
return function(x) {
@maurges
maurges / build-remote.py
Created August 13, 2020 04:16
A script to run a build on a remote machine by copying changed files there
#!/usr/bin/env python3
import datetime
import json
import os
import shutil
import subprocess
import sys
from typing import List, Dict
@maurges
maurges / chess.hs
Created February 27, 2021 07:02
Create a chessboard filled with colors
#!/usr/bin/env stack
{- stack --resolver=lts-16.16 script
--package diagrams-lib --package diagrams-svg
-}
module Main where
import Data.List (tails)
import Diagrams.Backend.SVG (renderSVG, B)
import Diagrams.Prelude
@maurges
maurges / draw.hs
Created June 23, 2021 11:11
Parse two jsonl-s with skeleton info and draw them to comparison
#!/usr/bin/env stack
-- stack --resolver=lts-16.16 script --package diagrams-lib --package diagrams-rasterific --package vector --package unordered-containers --package aeson --package bytestring
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Arrow ((&&&))
import Control.Monad (forM_)
import Data.HashMap.Strict ((!))
import Data.List (tails)
@maurges
maurges / forward_log.py
Created August 3, 2021 09:49
Forward tcp data to a remote host and log it
#!/usr/bin/env python3
import asyncio
from asyncio import get_event_loop, start_server, StreamReader, StreamWriter, open_connection, gather
import sys
remote_host = "192.168.56.1"
remote_port= 5576
async def pipe(tag: str, reader: StreamReader, writer: StreamWriter) -> None:
while not reader.at_eof():
@maurges
maurges / CMakeLists.txt
Last active May 7, 2022 12:02
Hello world for x86_64 linux with libyasm
cmake_minimum_required(VERSION 3.17)
project(yamsex)
set(CMAKE_CXX_STANDARD 17)
include_directories(${PROJECT_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/../yasm/
)
add_executable(${PROJECT_NAME}
main.cpp
ffmpeg \
# input video file
-i Пылающий_2018_BDRip.avi \
# input subtitle file
-i 'Пылающий_2018_BDRip_rus focs.srt' \
# input another subtitle file
-i 'Пылающий_2018_BDRip_rus r5.srt' \
# use all streams from first file
-map 0 \
# ..but don't use stream index 1
@maurges
maurges / hindent.patch
Created March 20, 2022 09:15
Patch for hindent with my style of imports
diff --git a/TESTS.md b/TESTS.md
index 287e65a..3a23c15 100644
--- a/TESTS.md
+++ b/TESTS.md
@@ -93,16 +93,8 @@ import qualified MegaModule as M ((>>>), MonadBaseControl, void, MaybeT(..), joi
```haskell expect
import qualified MegaModule as M
- ( Either
- , Maybe(Just, Nothing)