Skip to content

Instantly share code, notes, and snippets.

View lf94's full-sized avatar
🏔️
Hey how's it going

49fl lf94

🏔️
Hey how's it going
View GitHub Profile
@lf94
lf94 / fabyu.zig
Created May 6, 2024 14:12
A time-based terminal subtitle player written in Zig.
const std = @import("std");
const io = std.io;
const fs = std.fs;
const mem = std.mem;
const fmt = std.fmt;
const time = std.time;
const math = std.math;
const process = std.process;
pub fn main() !void {
\ Here lies a true exercise for my Forth studies.
\ Translated from pseudo-code data:text/plain;base64,Tm90ZSAxOiBBbGwgdmFyaWFibGVzIGFyZSAzMiBiaXQgdW5zaWduZWQgaW50ZWdlcnMgYW5kIGFkZGl0aW9uIGlzIGNhbGN1bGF0ZWQgbW9kdWxvIDIzMgpOb3RlIDI6IEZvciBlYWNoIHJvdW5kLCB0aGVyZSBpcyBvbmUgcm91bmQgY29uc3RhbnQga1tpXSBhbmQgb25lIGVudHJ5IGluIHRoZSBtZXNzYWdlIHNjaGVkdWxlIGFycmF5IHdbaV0sIDAg4omkIGkg4omkIDYzCk5vdGUgMzogVGhlIGNvbXByZXNzaW9uIGZ1bmN0aW9uIHVzZXMgOCB3b3JraW5nIHZhcmlhYmxlcywgYSB0aHJvdWdoIGgKTm90ZSA0OiBCaWctZW5kaWFuIGNvbnZlbnRpb24gaXMgdXNlZCB3aGVuIGV4cHJlc3NpbmcgdGhlIGNvbnN0YW50cyBpbiB0aGlzIHBzZXVkb2NvZGUsCiAgICBhbmQgd2hlbiBwYXJzaW5nIG1lc3NhZ2UgYmxvY2sgZGF0YSBmcm9tIGJ5dGVzIHRvIHdvcmRzLCBmb3IgZXhhbXBsZSwKICAgIHRoZSBmaXJzdCB3b3JkIG9mIHRoZSBpbnB1dCBtZXNzYWdlICJhYmMiIGFmdGVyIHBhZGRpbmcgaXMgMHg2MTYyNjM4MAoKSW5pdGlhbGl6ZSBoYXNoIHZhbHVlczoKKGZpcnN0IDMyIGJpdHMgb2YgdGhlIGZyYWN0aW9uYWwgcGFydHMgb2YgdGhlIHNxdWFyZSByb290cyBvZiB0aGUgZmlyc3QgOCBwcmltZXMgMi4uMTkpOgpoMCA6PSAweDZhMDllNjY3CmgxIDo9IDB4YmI2N2FlODUKaDIgOj0gMHgzYzZlZjM3MgpoMyA6PSAwe
@lf94
lf94 / bad.py
Created January 16, 2024 02:41
import cadquery as cq
# Parameters for the bearing
outer_diameter = 22.0 # Outer diameter of the bearing
inner_diameter = 8.0 # Inner diameter of the bearing
width = 7.0 # Width of the bearing
ball_diameter = 4.0 # Diameter of the bearing balls
number_of_balls = 7 # Number of balls in the bearing
# Create the outer race
outer_race = (
cq.Workplane("XY")
@lf94
lf94 / weird.py
Created January 16, 2024 01:07
weird.py
import cadquery as cq
# Parameters for the cylinder
cylinder_height = 50.0
cylinder_radius = 20.0
# Parameters for the rectangular cutouts
cutout_width = 5.0
cutout_height = 10.0
cutout_depth = 10.0
# Create the base cylinder
cylinder = cq.Workplane("XY").cylinder(cylinder_height, cylinder_radius)
@lf94
lf94 / bad.py
Created January 16, 2024 00:06
Prompt: A flowerpot of 10 cm diameter
import cadquery as cq
# Parameters
diameter = 10.0 # Diameter of the flowerpot
height = 10.0 # Height of the flowerpot
thickness = 0.5 # Wall thickness of the flowerpot
bottom_thickness = 0.5 # Bottom thickness of the flowerpot
# Create the outer shell of the flowerpot
outer_shell = cq.Workplane("XY").circle(diameter / 2).extrude(height)
# Create the inner cavity by offsetting the outer shell inwards
inner_shell = (
@lf94
lf94 / ps2-lights-opening.c
Created August 4, 2023 15:24
PS2 OSDSYS opening sequence lights circles
static void
DrawLights(void)
{
int l, i, j, k;
vif1SetZWrite(0);
vif1SetZTest(0);
vif1SetTexture(&textures[TEXID_CRBL]);
for(l = 0; l < 4; l++) {
GitHub changed the world of open-source.
In the beginning it brought together the disconnected programmers who always wanted to work on something with other like-minded people.
In the present it's no longer the foreground. Businesses and professionals connect and the profiles become a bragging ground.
The GH PR system is stretched to its limits. During the early days this was ok: PRs were few and far between. It worked.
I've changed, and so has GitHub. As I grow older I care more about my impact and personal data responsibility. I care about FOSS work being used for profit.
@lf94
lf94 / adafruit_gfx.html
Created August 17, 2021 22:03
Adafruit GFX API in JS
<canvas id="canvas" width="800" height="600"></canvas>
<script>
const canvas = document.getElementById("canvas");
const context = canvas.getContext('2d');
const rgbs = {};
// color is in 565 format
function toRGB(color) {
const rgb = rgbs[color];
// P = (1−t)2P1 + 2(1−t)tP2 + t2P3
function bezier3(points, segments) = let (
s = 1 / segments
) [
for(t = 0; t <= 1 + s; t = t + s)
pow((1 - t), 2) * points[0]
+ 2 * (1 - t) * t * points[1]
+ pow(t, 2) * points[2]
];
RE: WHEN WILL WEB BROWSERS BE COMPLETE?
2020-10-31 02:46PM
A follow-up.
There has been some great conversation around the opinion piece. Having read all
200+ comments on YCombinator and Gist GitHub, I think it's most productive to
respond to them all in this follow-up piece.
The piece will be structured by looking at what I think are the most relevant
critiques and comments, followed by adding context to others' comments, and