Skip to content

Instantly share code, notes, and snippets.

View MarkTiedemann's full-sized avatar

Mark Tiedemann MarkTiedemann

View GitHub Profile
add-type -an system.web;
$root = "C:\web";
$port = "8000";
$server = [net.httpListener]::new();
$server.prefixes.add("http://localhost:$port/");
$server.start();
while ($server.isListening) {
@MarkTiedemann
MarkTiedemann / Makefile
Last active August 26, 2021 17:02
Generate Font Awesome SCSS data-URL variables
FA := 5.15.4
fa-$(FA).scss:
curl -o fa.zip https://use.fontawesome.com/releases/v$(FA)/fontawesome-free-$(FA)-web.zip
tar xf fa.zip
move fontawesome-free-$(FA)-web\svgs fa-$(FA)
del fa.zip
rd /q /s fontawesome-free-$(FA)-web
node index.js fa-$(FA) fa-$(FA).scss
@echo off
setlocal
set "url=%1"
if "%url%"=="" exit /b 1
if "%url:~0,7%"=="http://" goto :open
if "%url:~0,8%"=="https://" goto :open
set "url=file://%cd%\%url%"
:open
import java.io.*;
import java.net.*;
import java.util.regex.*;
import com.sun.net.httpserver.*;
class Server {
record Document(String name, String date) {}
static String render_rows(Document... dd) {
var r = "";
let ziel_breite = 53.6659197;
let ziel_hoehe = 10.2356524;
require("https")
.get("https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/10_minutes/air_temperature/now/zehn_now_tu_Beschreibung_Stationen.txt", async res => {
let b = []; for await (let c of res) b.push(c);
console.log(
Buffer.concat(b)
.toString("utf-8")
.split("\r\n")
  1. Create deployctl.cmd (preferably in a directory in your path)
@deno run --allow-read --allow-write --allow-env --allow-net --allow-run --no-check https://deno.land/x/deploy@0.3.0/deployctl.ts %*
  1. In your project directory, run
deployctl types > deploy.d.ts
@MarkTiedemann
MarkTiedemann / filesystem_polyfill.js
Last active May 19, 2021 22:44
JavaScript localStorage polyfill using ActiveX
var localStorage = (function () {
var fs = new ActiveXObject("Scripting.FileSystemObject");
var sh = new ActiveXObject("WScript.Shell");
var root = sh.ExpandEnvironmentStrings("%localappdata%") + "\\localStorage";
return {
getItem: function (key) {
try {
var file = fs.openTextFile(root + "\\" + key, 1);
var value = file.readAll();
file.close();
<!-- read_path_from_registry.hta -->

<style>

textarea {
	width: 100%;
	height: 50%;
}
<!-- fs.hta -->
<script>

var fs = new ActiveXObject("Scripting.FileSystemObject");

function writeFile(name, content) {
	var file = fs.createTextFile(name, true);
	file.write(content);
	file.close();
new TextDecoder().decode(new Uint8Array(await new Response(new Blob([new TextEncoder().encode("Hello, world!")]).stream()).arrayBuffer()))