Skip to content

Instantly share code, notes, and snippets.

View stctheproducer's full-sized avatar

Chanda Mulenga stctheproducer

View GitHub Profile
@stctheproducer
stctheproducer / README.md
Created June 25, 2025 11:19 — forked from lncitador/README.md
AdonisJS Lucid Mapper Utility

This abstract Mapper class provides a flexible and type-safe way to serialize, transform, and label AdonisJS Lucid models and their paginated results. It is designed to help you build clean API responses and DTOs in AdonisJS projects.

Features

  • Supports serialization of single models, arrays, and paginated results.
  • Custom serialization logic via subclassing.
  • Utility for picking specific fields and relations from models.
  • Label mapping mechanism for enums or field names.

Use this utility to keep your API layer clean, consistent, and maintainable when working with AdonisJS and Lucid ORM.

@stctheproducer
stctheproducer / bind-plugin.ts
Created June 8, 2025 06:48 — forked from marvinhagemeister/bind-plugin.ts
Preact Signals `bind:value`
import { options } from "preact";
import { Signal } from "@preact/signals";
// Add `bind:value` to JSX types
declare global {
namespace preact.createElement.JSX {
interface HTMLAttributes {
"bind:value"?: Signal<string | string[] | number | undefined>;
}
}
@stctheproducer
stctheproducer / windsurf-memories
Created May 22, 2025 14:35 — forked from entrepeneur4lyf/windsurf-memories
Converted Cline Memory Management to Windsurf
# Windsurf Memory Bank
I am Windsurf, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.
## Memory Bank Structure
The Memory Bank consists of required core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:
```mermaid
flowchart TD
@stctheproducer
stctheproducer / keybase.md
Created January 8, 2025 21:20 — forked from sinewalker/keybase.md
How to import pub/sec PGP keys from keybase to your local GPG keyring.

Import Keybase PGP to GPG

After installing the keybase command-line tool onto a new / fresh computer, you may want to import your PGP key to the local keyring so that you may use the keys with GPG.

Import your PUBLIC PGP key:

keybase pgp export|gpg --import -
@stctheproducer
stctheproducer / ca-store-generator.js
Created August 21, 2023 14:42 — forked from othiym23/ca-store-generator.js
Hacky script to download Mozilla's root CA store and turn it into a bundle suitable for use with Node TLS.
#!/usr/bin/env node
var fs = require('fs');
var path = require('path');
var request = require('request');
var CERTDB_URL =
'https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1';
var OUTFILE = './certificates.js';
@stctheproducer
stctheproducer / dnsmasq macOS.md
Created September 12, 2021 11:52 — forked from ogrrd/dnsmasq OS X.md
Setup dnsmasq on macOS

Never touch your local /etc/hosts file in OS X again

To setup your computer to work with *.test domains, e.g. project.test, awesome.test and so on, without having to add to your hosts file each time.

Requirements

Install

Generating Authy passwords on other authenticators


There is an increasing count of applications which use Authy for two-factor authentication. However many users who aren't using Authy, have their own authenticator setup up already and do not wish to use two applications for generating passwords.

Since I use 1Password for all of my password storing/generating needs, I was looking for a solution to use Authy passwords on that. I couldn't find any completely working solutions, however I stumbled upon a gist by Brian Hartvigsen. His post had a neat code with it to generate QR codes for you to use on your favorite authenticator.

His method is to extract the secret keys using Authy's Google Chrome app via Developer Tools. If this was not possible, I guess people would be reverse engineering the Android app or something like that. But when I tried that code, nothing appeared on the screen. My guess is that Brian used the

@stctheproducer
stctheproducer / clean-up-arch-linux.md
Created February 15, 2021 08:33 — forked from rumansaleem/clean-up-arch-linux.md
Instructions to clean up Arch Linux (Manjaro)

Contents

  • Clean pkg cache
  • Remove unused packages (orphans)
  • Clean cache in /home
  • remove old config files
  • Find and Remove
    • duplicates
    • empty files
    • empty directories
  • broken symlinks