Managing Development Secrets on a Mac: Keychain, 1Password CLI, and direnv

GitHub caught 39M leaked secrets in 2024. Here's how I store API keys on my Mac: Keychain, 1Password CLI references, and direnv -- no plaintext .env files.

Read more...

Manage Your Claude Code Config with Dotfiles and GNU Stow

Claude Code settings, skills, hooks, and MCP servers add up to a small codebase. Version-control ~/.claude in a dotfiles repo with git and GNU Stow to roll back broken skills and rebuild your setup on any machine.

Read more...

Lyra Prompt: A Simple Way to Write Better AI Prompts

The Lyra prompt turns ChatGPT or Claude into a prompt optimizer that interviews you, then rewrites your request. An easy way to write better AI prompts.

Read more...

Monitor Claude Code Token Usage & Cost in the Status Line (Before the AI Bubble Pops)

Monitor Claude Code's token usage, rate limits, and cost right in your terminal status line — using a custom statusline script and ccusage.

Read more...

How to Generate Same AI Images with JSON Context Profiles

How to consistently generate images with exact same style, format, subjects, and placement of subjects using AI. This new technique involves just 2 simple steps.

Read more...

Automatically Convert Ecto Atom to String

Skip manual Atom.to_string/1 calls in your Elixir code by building a custom Ecto.Type that converts atoms to strings transparently on cast.

Read more...

Trying out Auto-GPT: AGI with an Agent Model

Hands-on with Auto-GPT: the first widely-known autonomous-agent model that chains GPT-4 calls to plan, execute, and self-correct toward a goal.

Read more...

Working with Dates and Time in Solidity using timestamps?

How do you store timestamps in Solidity when it not have Date or Time primitive types?

Read more...

How to compare strings in Solidity?

Simple string comparison is not possible in Solidity. Use a hashing function to compare strings.

Read more...

How to iterate through Solidity mappings?

`mapping`s are not iterable by default. We have to use them together with `array` to make `mapping`s iterable

Read more...