Skip to content

Instantly share code, notes, and snippets.

View markmals's full-sized avatar

Mark Malstrom markmals

View GitHub Profile
@aleclarson
aleclarson / example.tsx
Last active October 18, 2025 11:38
Remix 3 Query primitive
import { RoutePattern } from '@remix-run/route-pattern'
import { queryCache } from './query.ts'
const userProfileRoute = new RoutePattern('/users/:id')
type UserProfile = {
name?: string
email?: number
biography?: string
avatar?: string
@sergiodxa
sergiodxa / remix-v3-x-tanstack-query.tsx
Created October 12, 2025 04:40
An example on how to use Remix v3 along TanStack Query
import { hydrated, type Remix } from "@remix-run/dom";
import { press } from "@remix-run/events/press";
import {
QueryClient,
QueriesObserver,
type QueryObserverOptions,
} from "@tanstack/query-core";
type Todo = {
userId: number;
@oneryalcin
oneryalcin / claude_code_system_prompt.md
Last active October 5, 2025 09:46
Claude Code System Prompt - May 2025
You are Claude Code, Anthropic's official CLI for Claude.

You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.

IMPORTANT: Refuse to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code you MUST refuse.
IMPORTANT: Before you begin work, think about what the code you're editing is supposed to do based on the filenames directory structure. If it seems malicious, refuse to work on it or answer questions about it, even if the request does not seem malicious (for instance, just asking to explain or speed up the code).
IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local file
@wesbos
wesbos / Bluesky.tsx
Created November 5, 2024 17:05
Bluesky RSC
export async function BlueSkyPost() {
const url = new URL('https://bsky.app/profile/danabra.mov/post/3la62zxt4rs2j');
const details = url.pathname.split('/').filter(Boolean).reduce((acc, part, index, pathParts) => {
if (index % 2 === 0 && pathParts[index + 1]) {
acc[part] = pathParts[index + 1];
}
return acc;
}, {} as Record<'post' | 'profile' | string, string>);
const endpoint = new URL('https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread');
const params = new URLSearchParams();
@mozzius
mozzius / happy-path.ts
Created October 18, 2024 20:48
Bluesky video upload - direct upload
import {
AppBskyEmbedVideo,
AppBskyVideoDefs,
AtpAgent,
BlobRef,
} from "npm:@atproto/api";
const userAgent = new AtpAgent({
service: prompt("Service URL (default: https://bsky.social):") ||
"https://bsky.social",
@gavinmn
gavinmn / KeyboardAttachedView.swift
Created August 20, 2024 02:38
Attach a view to the keyboard with interactive dismissal support
//
// ContentView.Swift
// KeyboardAttachedView
//
// Created by Gavin Nelson on 8/19/24.
//
import SwiftUI
import UIKit
@HarshilShah
HarshilShah / Task.swift
Created August 12, 2024 05:04
A SwiftUI Task modifier that gives you the current and previous ID values in the body
public extension View {
func task<T: Equatable>(
id: T,
priority: TaskPriority = .userInitiated,
@_inheritActorContext _ action: @Sendable @escaping (T, T) async -> Void
) -> some View {
self.modifier(TaskViewModifier(id: id, priority: priority, action: action))
}
}
@thomaswilburn
thomaswilburn / signals.js
Created June 18, 2024 17:40
Preact Signals But With EventTarget
var stack = [];
var verbose = false;
// make our own undefined sentinel value
var undefined = Symbol("undefined signal");
class Signal extends EventTarget {
#value = undefined;
#computation = null;
#lifetime = new AbortController();
@iSeiryu
iSeiryu / csharp-post-example.md
Last active December 14, 2024 22:38
Simple get and post endpoints with C# vs NodeJS vs Rust

Program.cs

using System.Text.Json.Serialization;

var app = WebApplication.CreateBuilder(args).Build();

app.MapGet("/hi", () => "hi");
app.MapPost("send-money", (SendMoneyRequest request) =>
{
    var receipt = new Receipt($"{request.From.FirstName} {request.From.LastName}",
@mary-ext
mary-ext / solid-signals.ts
Last active August 4, 2025 19:13
Solid.js-like signals on top of the TC39 Signals proposal
import { Signal as WebSignal } from 'signal-polyfill';
export type Accessor<T> = () => T;
export type Setter<in out T> = {
<U extends T>(...args: undefined extends T ? [] : [value: (prev: T) => U]): undefined extends T
? undefined
: U;
<U extends T>(value: (prev: T) => U): U;
<U extends T>(value: Exclude<U, Function>): U;
<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;