Skip to content

Instantly share code, notes, and snippets.

View snoble's full-sized avatar

Steven Klaiber-Noble snoble

View GitHub Profile
@snoble
snoble / vibe-coding-best-practices-for-one.md
Last active July 1, 2025 17:02
Vibe Coding Best Practices For One Person Projects

Vibe Coding Best Practices

This document contains practices specifically designed for AI-first development. Browse through it, find the sections that resonate with your workflow, and copy them into your repository for your AI assistant to follow.

The loop descriptions are comprehensive templates—you can copy them directly to create your own loop specifications tailored to your project. The specification examples provide building blocks for creating your own project specs, architecture docs, and other living documentation.

📁 Quick Guide: Where to Save Each Section

When adopting sections from this document, copy them into these suggested spec files:

  • Operating LoopsOPERATING_LOOPS.md or individual files like CI_GREEN_LOOP.md
@snoble
snoble / vibe-coding-best-practices-for-one.md
Created June 21, 2025 20:00
Vibe Coding Best Practices For One Person Projects

Vibe Coding Best Practices

This document contains practices specifically designed for AI-first development. Browse through it, find the sections that resonate with your workflow, and copy them into your repository for your AI assistant to follow.

The loop descriptions are comprehensive templates—you can copy them directly to create your own loop specifications tailored to your project. The specification examples provide building blocks for creating your own project specs, architecture docs, and other living documentation.

📁 Quick Guide: Where to Save Each Section

When adopting sections from this document, copy them into these suggested spec files:

  • Operating LoopsOPERATING_LOOPS.md or individual files like CI_GREEN_LOOP.md
@snoble
snoble / vibe-coding-best-practices-for-one.md
Created June 21, 2025 18:40
Vibe Coding Best Practices For One Person Projects

Vibe Coding Best Practices

This document contains practices specifically designed for AI-first development. Browse through it, find the sections that resonate with your workflow, and copy them into your repository for your AI assistant to follow.

The loop descriptions are comprehensive templates—you can copy them directly to create your own loop specifications tailored to your project. The specification examples provide building blocks for creating your own project specs, architecture docs, and other living documentation.

📁 Quick Guide: Where to Save Each Section

When adopting sections from this document, copy them into these suggested spec files:

  • Operating LoopsOPERATING_LOOPS.md or individual files like CI_GREEN_LOOP.md
@snoble
snoble / vibe-coding-best-practices-for-one.md
Created June 20, 2025 23:24
Vibe Coding Best Practices

Vibe Coding Best Practices

This document contains practices specifically designed for AI-first development. Browse through it, find the sections that resonate with your workflow, and copy them into your repository for your AI assistant to follow.

🎯 The Most Important Thing: Choose Your Loop

When you're vibe coding, you're moving fast with AI assistance. The key to maintaining quality at speed is choosing the right feedback loop for your current situation.

Many developers struggle because they're in the wrong loop at the wrong time. They're optimizing performance when CI is broken. They're polishing UI when users can't log in. They're adding features when existing bugs are driving users away.

@snoble
snoble / vancouver-density-health-meter.md
Created June 7, 2025 03:45
Timeline narrative showing how neighbourhood activism, political decisions, and recent reforms shaped (and are reshaping) Vancouver’s capacity to add housing density, 1970 – 2023.

Vancouver’s Density Health Meter — How Neighbourhood Activism Gradually Drained the City’s Capacity to Build Housing

DENSITY‑POTENTIAL METER
[████████████████████] 100 %   (optimistic baseline ≈ 1970)

Context. Half a century ago planners imagined Vancouver blossoming into a compact, European‑style city where mid‑rise apartments lined streetcar corridors and everyday errands were a short walk from home. Nothing in the zoning by‑law prevented that future: most residential lots could legally add row‑houses, walk‑ups, or even modest towers.

What happened instead was a series of local rebellions—each one small on its own, but together powerful enough to steer zoning, politics, and developer math toward ever‑lower density. The density‑health meter below visualises how each confrontation shaved points from the city’s ability to build housing.

@snoble
snoble / learning-boosters-essay.md
Created June 7, 2025 00:06
The Escalator That Stops at Twenty-Two

The Escalator That Stops at Twenty-Two

How front-loading learning launches young people off course—and leaves their older selves with regret they can’t fix

On graduation day, tassels swinging and flashbulbs popping, we feel invincible.

When we are young, we believe that meaning comes from passion. We think that being interesting is the same as being valuable. We welcome the message that school is about more than a career. We believe it when they say, “Don’t worry about money. Just do what you love.”

But the systems that deliver education—and especially higher education—aren’t built to support the people we become. This essay argues we must redesign higher education by compressing traditional degree programs, funding lifelong booster shots, and shifting the cost of mid-career retraining away from individual employers and toward portable public mechanisms.

No one tells us that at forty-five, usefulness will feel like dignity. That to have someone pay you well because you make their life better

@snoble
snoble / canadian_commentator_partisanship_ratings.md
Created June 5, 2025 17:51
A complete markdown document containing (1) a table that rates prominent Canadian political commentators on their party partisanship during the past 30 days—sorted by partisanship spread, with role-fit icons and concise explanations—and (2) an extended prompt detailing the methodology, scoring scale, name-harvesting workflow, and quality checkli…

Canadian Political Commentators – Partisanship Ratings (last 30 days)

Scores run from +10 (ardent booster) to –10 (fierce opponent); 0 = no clear tilt.
Rows are sorted by partisanship spread (max score − min score).
The “Does the tilt match the role?” column shows an icon—✅ bias fits persona, ⚠️ bias clashes—plus a concise note.

Username Public role / self-description LPC CPC NDP Bloc Does the tilt match the role?
Nick Kouvalis Conservative pollster / strategist –9 +9 –6 –5 ✅ Extreme CPC-friendly / LPC-hostile split suits a partisan strategist.
Candice Malcolm True North founder, conservative activist –9 +7 –6 –3 ✅ Right-wing advocate; fierce anti-LPC, pro-CPC stance is her brand.

Here’s an example using car manufacturing to illustrate how cheaper imported cars can affect a country’s standard of living, considering factors like productivity, labor market dynamics, and the potential role of tariffs.


Scenario Setup

Imagine a small country with a workforce of 200,000 people, divided between two sectors:

  • Car Manufacturing (Tradable Sector): Workers produce cars that can be sold domestically or imported from abroad.
  • Service Sector (Non-Tradable Sector): Workers provide services (e.g., retail, education) consumed only within the country.

Savings: The Time Machine Fueling Capital Formation

In the sphere of capital formation, much like in land development, the notion of "financial time travel" is a crucial strategy that enables visions to become tangible realities. This concept is akin to the clever plot twists in classic time travel movies, where characters use their knowledge of future events to solve problems before they arise.

The Time Travel Conundrum in Development

Consider a land developer who aims to transform a plot into a thriving residential area. This project demands substantial immediate outlays: labor payments, material purchases, and related costs. However, the revenue from this investment—such as rents or sales from the properties—won't be realized until much later. This temporal gap between expenditures and returns is where savings act much like a time machine.

Sending Future Money Back in Time

package ExistTest/FList
enum FList[a, b]:
Pure(fn: a -> b)