Skip to content

Instantly share code, notes, and snippets.

View 0xthierry's full-sized avatar
🤖
Working 🚀

Thierry Santos 0xthierry

🤖
Working 🚀
View GitHub Profile
@badlogic
badlogic / comment.ts
Created May 4, 2026 12:29
pi comment extension
import { spawnSync } from "node:child_process";
import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import type { ExtensionAPI, SessionEntry } from "@mariozechner/pi-coding-agent";
import type { AssistantMessage } from "@mariozechner/pi-ai";
function getLastAssistantText(branch: SessionEntry[]): string | undefined {
for (let i = branch.length - 1; i >= 0; i--) {
const entry = branch[i];

Ghostty Keyboard Shortcuts

Default keyboard shortcuts for Ghostty terminal emulator. Platform-specific differences are noted where applicable.

Window Management

Action Windows/Linux macOS
New window Ctrl+Shift+N Cmd+N
Close window Alt+F4 Cmd+Shift+W
@andrasbacsai
andrasbacsai / firewall.sh
Last active April 19, 2025 14:31
Update a Hetzner Firewall rule with your IP address
#!/bin/bash
# Script to update a firewall rule in a Hetzner Firewall with your current IP address.
# Good if you would like to restrict SSH access only for your current IP address (secure).
#################
# WARNING: This script will overwrite all rules in the firewall rules, so make sure you
# added all the required rules.
# I use a separate firewall rule just for SSH access.
#################
Understand the Task: Grasp the main objective, goals, requirements, constraints, and expected output.
- Minimal Changes: If an existing prompt is provided, improve it only if it's simple. For complex prompts, enhance clarity and add missing elements without altering the original structure.
- Reasoning Before Conclusions: Encourage reasoning steps before any conclusions are reached. ATTENTION! If the user provides examples where the reasoning happens afterward, REVERSE the order! NEVER START EXAMPLES WITH CONCLUSIONS!
- Reasoning Order: Call out reasoning portions of the prompt and conclusion parts (specific fields by name). For each, determine the ORDER in which this is done, and whether it needs to be reversed.
- Conclusion, classifications, or results should ALWAYS appear last.
- Examples: Include high-quality examples if helpful, using placeholders [in brackets] for complex elements.
- What kinds of examples may need to be included, how many, and whether they are complex enough to benefit from p
@jgcmarins
jgcmarins / decision-matrix.md
Created September 25, 2023 14:49
Looking for a new career opportunity? Use this table to create a ranking of all job offers

Table of concepts and definitions

Concept Definition
Autonomy How well will this company give me autonomy to do my job?
Freedom How much freedom will I have to balance work and personal life?
Responsibilities What level of responsibilities will I have, and how extensive will they be?
Culture How well does this company's culture align with my values, and how open is the company to allowing me to contribute to the culture I believe in?
Tech Stack How closely does the tech stack used by this company align with my preferences, and to what extent is the company willing to allow me to use the stack I prefer?
Personal Growth How big is the potential of this company to help me keep growing?
@Eomm
Eomm / be-constructive.md
Created September 29, 2022 12:01
I will use XYZ instead of Fastify

Why you should not say I will have to go to express to a Fastify maintainer

The number of people who come to Fastify's repositories to say they are forced to use Expressjs, or whatever, is uncountable.

So, I'm writing these lines because every time I read these words, I get upset for many reasons that I will list here.

ℹ Note I'm a Fastify contributor and the opinions expressed are solely my own and do not express the views or opinions of the Fastify community or other contributors.

So, let me share this catchy title:

@pesterhazy
pesterhazy / building-sync-systems.md
Last active October 31, 2026 10:00
Building an offline realtime sync engine

So you want to write a sync system for a web app with offline and realtime support? Good luck. You might find the following resources useful.

Overview articles

@sibelius
sibelius / learning-path-web3.md
Last active September 22, 2025 06:31
Learning Path Web3
  • learn blockchain concepts
  • learn ethereum
  • learn how to use metamask
  • learn how to use hardhat (https://hardhat.org/)
  • learn how to deploy and interact with a smart contract
  • learn common smart contract standards like ERC20 (token), ERC721 (nft), ERC1155 (opensea)
  • learn ipfs
  • learn how to read blockchain explorers like https://etherscan.io/
  • learn how to use web3 and etherjs
  • learn solidity
@alexrios
alexrios / regras-do-encontro.md
Last active October 18, 2022 21:25
System Design BR - Discussão das regras do encontro

Regras do encontro

Concordar em discordar.

Seja educado! Não existe uma maneira única de experimentar ou interpretar um conteúdo. Na verdade, opiniões divergentes são boas e bem vindas.

Seja gentil, mas firme.

Insistiremos para que o tempo de discussão seja limitado ao conteúdo.

Não monopolize a conversa

Nunca é fácil. “Vamos ouvir alguns outros” é uma abordagem. Podemos ter uma estratégia sobre só uma pessoa falar, e as pessoas que querem falar devem "levantar a mão".

@DavidWells
DavidWells / serverless-function-reference-formats.yml
Created September 19, 2020 04:41
Various ways to reference function name and ARN in serverless.yml
function:
foo:
handler: index.handler
# Ways to reference function in serverless.yml
FunctionName: !Sub arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${self:service.name}-${self:provider.stage}-foo
FunctionName: !GetAtt FooLambdaFunction.Arn
FunctionName: !Sub "${AWS::StackName}-foo"
FunctionName: ${self:service.name}-${self:provider.stage}-foo