Skip to content

Instantly share code, notes, and snippets.

View nightscape's full-sized avatar

Martin Mauch nightscape

View GitHub Profile

Keybase proof

I hereby claim:

  • I am nightscape on github.
  • I am martin_mauch (https://keybase.io/martin_mauch) on keybase.
  • I have a public key ASANKmCnGWQPuICUpO04ADSCDuaZNEwurtN66RO1XXzD4Qo

To claim this, I am signing this object:

@nightscape
nightscape / scoop-updated-manifests.nu
Last active January 30, 2023 09:16
Querying the description of recently update Scoop manifests in NuShell
git diff (git log -1 --before=@{5.days.ago} --format=%H) --stat | parse -r "bucket/(?P<mani>.*?)\\.json .*" | insert description { |m| open --raw $"bucket/($m.mani).json" | from json | get description } | insert homepage { |m| open --raw $"bucket/($m.mani).json" | from json | get homepage }
@nightscape
nightscape / bone_mac.kbd
Created November 5, 2021 08:12
KMonad BONE Keyboard layout
(defcfg
;; For Linux (set your device input file here)
;; input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
;; output (uinput-sink "KMonad output"
;; "/bin/sleep 1 && /bin/setxkbmap us -option compose:ralt")
;; For Windows
;; input (low-level-hook)
;; output (send-event-sink)
console.log("It works");
@nightscape
nightscape / simple_cors_server.py
Last active January 30, 2021 22:31 — forked from acdha/simple_cors_server.py
Python 3: serve the current directory as HTTP while setting CORS headers for XHR debugging
#!/usr/bin/env python3
# encoding: utf-8
"""Use instead of `python3 -m http.server` when you need CORS"""
from http.server import HTTPServer, SimpleHTTPRequestHandler
class CORSRequestHandler(SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header('Access-Control-Allow-Origin', '*')
@nightscape
nightscape / zmv-examples.md
Last active February 28, 2023 20:39 — forked from niksmac/zmv-examples.md
ZMV-Examples (require autoload zmv)

rename a section of a filename, i. e. example.1.{txt,conf,db} or 12345.1.{wav,ogg,mp3} and change the 1 to a 2 in the filename while preserving the rest of it.

  zmv -n '(*.)(<->)(.[^.]#)' '$1$(($2+1))$3' # would rename x.0001.y to x.2.y.
  zmv -n '(*.0#)(<->)(.[^.]#)' '$1$(($2+1))$3'

Rename files to lower case

  $ zmv '*' '${(L)f}'
From 5c7a59af9bdce47e7168bbd5b4d3db5ee57e36a2 Mon Sep 17 00:00:00 2001
From: Martin Mauch <martin.mauch@gmail.com>
Date: Mon, 17 Aug 2020 12:01:52 +0200
Subject: [PATCH] Fix zst decompression
---
PKGBUILD | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/PKGBUILD b/PKGBUILD
@nightscape
nightscape / SequentialRandomSampling.scala
Created May 5, 2020 08:30
A not yet working Scala implementation of Sequential Random Sampling from Vitter
// Translated from https://github.com/gliese1337/vitter-sample/blob/master/src/index.ts
// TODO: The returns were yields and the entire algorithm should create a Seq or Iterable of Ints
import scala.util.control.Breaks._
object SequentialRandomSampling {
val negalphainv = -13
def skip(_k: Int, _N: Int) {
var k = _k
var N = _N
var qu1 = N - k + 1
var S = 0
@nightscape
nightscape / Http4sStreamStringUntilResponseIsReady.scala
Last active April 22, 2020 14:31
Http4s: Stream a constant String until the response is ready (might be useful for preventing connection to be closed)
def constantStringThenContent[F[_] : Timer : Concurrent, A](constantString: String, result: F[A])(
implicit W: EntityEncoder[F, A]
): Response[F] = {
val resultStream = Stream.eval(result)
val preStream = EntityEncoder.stringEncoder[F].toEntity(constantString).body
val composedStream = (Stream[F, Option[A]](None, None, None) ++ resultStream.map(Option.apply))
.switchMap[F, Byte] {
case None =>
fs2.Stream.awakeEvery[F](10.second).flatMap(_ => preStream)
case Some(v) => W.toEntity(v).body
@nightscape
nightscape / fields.sc
Created April 3, 2020 15:48 — forked from danslapman/fields.sc
Get field names of case class using shapeless
import $ivy.`com.chuusai::shapeless:2.3.3`
import shapeless._
trait Fields[T] {
def fields: List[String]
override def toString: String = fields.mkString(", ")
}
object Fields extends LabelledProductTypeClassCompanion[Fields] {
def apply[T](fs: List[String]): Fields[T] = new Fields[T] {
override def fields: List[String] = fs