Skip to content

Instantly share code, notes, and snippets.

@ljmccarthy
ljmccarthy / update-all.sh
Last active March 9, 2023 12:14
YouTube-DL archiving script
#!/bin/sh
download_videos() {
yt-dlp --download-archive archive -ciw -o "%(upload_date)s %(id)s %(title)s.%(ext)s" -v "$@"
}
find . -type d | while read dir; do
if [ -f "$dir/url" ]; then
(cd "$dir" && download_videos "$(cat url)")
fi
TARGETNAME := my-program
BUILDDIR := build
SRCDIRS := src
INCDIRS := include
LIBDIRS :=
LIBS :=
DEFINES :=
PKGS :=
STDC := c11
STDCPP := c++20
@ljmccarthy
ljmccarthy / ntfs-mount-options
Created October 28, 2020 08:43
NTFS mount options
defaults,nls=utf8,umask=000,dmask=022,fmask=133,uid=1000,gid=1000,windows_names
<!DOCTYPE html>
<style>
body { overflow: hidden; background-color: #000; }
#display { position: absolute; top: 0; left: 0; }
</style>
<canvas id="display"></canvas>
<script>
display.width = window.innerWidth;
display.height = window.innerHeight;
var x = 0;
#!/bin/sh
HDA=disk.img
run_qemu() {
qemu-system-i386 \
-cpu pentium \
-m size=64M \
-vga cirrus \
-soundhw sb16,adlib \
fn cString(comptime str: []const u8) [*]const u8 {
return &(str ++ "\x00");
}
fn cStringArray(comptime strArray: [][]const u8) [*]const ?[*]const u8 {
comptime var out : [strArray.len + 1] ?[*]const u8 = undefined;
inline for (strArray) |str, i| {
out[i] = comptime cString(str);
}
out[strArray.len] = null;
const std = @import("std");
const ExprType = enum {
Val,
Var,
Add,
Mul,
};
const Value = u32;
const std = @import("std");
use std.os.windows;
pub extern "kernel32" stdcallcc fn GetCommandLineW() LPWSTR;
pub extern "kernel32" stdcallcc fn LocalFree(hMem: *c_void) ?*c_void;
pub extern "shell32" stdcallcc fn CommandLineToArgvW(lpCmdLine: LPCWSTR, out_pNumArgs: *c_int) ?[*]LPWSTR;
pub const ArgIteratorWindows = struct {
index: usize,
count: usize,
const std = @import("std");
use std.os.windows;
pub extern "kernel32" stdcallcc fn GetCommandLineW() LPWSTR;
pub extern "kernel32" stdcallcc fn LocalFree(hMem: *c_void) ?*c_void;
pub extern "shell32" stdcallcc fn CommandLineToArgvW(lpCmdLine: LPCWSTR, out_pNumArgs: *c_int) ?[*]LPWSTR;
fn getArgs(allocator: *std.mem.Allocator) ![][]u8 {
var numArgs: c_int = undefined;
var args = CommandLineToArgvW(GetCommandLineW(), &numArgs) orelse return error.OutOfMemory;
const std = @import("std");
const File = std.os.File;
fn copyFile(src: File, dst: File) !void {
var buf = []u8 {0} ** 1024;
while (true) {
const n = try src.read(&buf);
if (n == 0) break;
try dst.write(buf[0..n]);
}