Hamilton Greene's Avatar

Hamilton Greene

@sirhamy.bsky.social

Technomancer building Simple Scalable Systems. hamy.xyz

222 Followers  |  24 Following  |  290 Posts  |  Joined: 21.10.2024  |  1.8967

Latest posts by sirhamy.bsky.social on Bluesky

Post image

My Sleep Schedule as a Full-Time Software Engineer with a Newborn

hamy.xyz/blog/2025-08...

19.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
7 Reasons F# Sucks Date: 2025-06-18 | build | create | csharp | fsharp | tech |

Common terms in F# that I hadn't heard before coding with it:

* Computation expressions
* Railway-oriented programming
* Partial application
* Currying
* Monads
* Discriminated Unions
* Exhaustive pattern matching

Reason #7 F# Sucks - You start talking weird

hamy.xyz/blog/2025-06...

#fsharp

18.08.2025 16:49 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Successfully installed pgbouncer on my DB Server to help manage connections.

Took awhile to configure correctly but now that it's setup with Ansible, should work ~deterministically for future deploys.

17.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Stop Vibe Coding, Start Power Coding - How To Write Quality Software Faster With Agentic AI (Without Pissing Off Your Software Engineers)

hamy.xyz/blog/2025-07...

16.08.2025 18:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Common vibe coding failure cases:

* Don't provide enough direction
* Miss problems as you build
* Don't understand your own system

These often lead to additional time / effort spent debugging your system if not bricking it entirely.

The fix: active power coding.

16.08.2025 18:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The cool thing ab my Ansible deploy script is I can now deploy my entire architecture to any servers I have access to - no vendor lockin.

There's still a bit of manual effort to rehydrate backups but generally can just target new servers and deploy.

12.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Took longer than expected but I now have an Ansible playbook that spins up:

* 1 DB server - Postgres, Redis
* 1 Analytics server - Grafana, Prometheus, Loki, Umami
* N App Servers - with all my apps behind Traeffik

Seeds each with monitoring agents to send to analytics server.

11.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

"I should host my apps on my own servers. Won't be too hard, I'll save a lot of money, and won't have vendor lockin. Plus deploying a new app / server will just require a few config changes!"

5 days and 2400 lines of YAML later: "Might've been faster to just use the GUI"

10.08.2025 17:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Will Removing Python’s GIL make it significantly faster? Date: 2025-07-09 | build | create | python | tech |

Will Removing Python’s GIL make it significantly faster?

hamy.xyz/blog/2025-07...

09.08.2025 18:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What is Python's GIL?

The Global Interpreter Lock ensures only one thread controls the interpreter at a time. It allows safe memory management across threads for Python's reference counting GC

This works well for single-threaded code but is a huge bottleneck for multi-threaded

09.08.2025 18:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Tailscale is pretty awesome.

Easy to setup and now I can do `my-server:5000` in my browser and hit apps running on my server, without risk of it being open to the public.

09.08.2025 17:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

My understanding of the main difference between popular Linux distros:

08.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

CinderBlockHtml isn't the fastest C# HTML generation paradigm but it's very competitive while offering (IMO) a simpler interface.

hamy.xyz/blog/2025-07...

#csharp

07.08.2025 18:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework Date: 2025-07-25 | artificial-intelligence | build | create | power-coding | software-engineer | vibe-coding | vibe-engineering |

How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework

hamy.xyz/blog/2025-07...

07.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

How I'm building software with AI agents:

* Project RFC
* Task description markdown
* AI creates task tracker markdown

Iterate through task:

* Provide task description and tracker
* AI codes
* I review + change
* Commit and push

07.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Stop Vibe Coding, Start Power Coding - How To Write Quality Software Faster With Agentic AI (Without Pissing Off Your Software Engineers) Date: 2025-07-16 | artificial-intelligence | build | create | power-coding | software-engineering | vibe-coding | vibe-engineering |

Stop Vibe Coding, Start Power Coding - How To Write Quality Software Faster With Agentic AI

hamy.xyz/blog/2025-07...

06.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

While tactical AI best practices for building software will likely shift in the coming months, I think strategic best practices will largely stay the same:

* Write good docs
* Plan projects
* Split into atomic tasks
* Review and verify each change
* Refactor when useful

06.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Most of my technology posts are evergreen. New versions come out each year, but the info is valid for years.

AI is interesting because it evolves so fast that the tactical best practices today will likely be out of date in the next 6 months, certainly the next few years.

05.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

My Recording Studio is attached directly to my desk.

* Camera
* Mic on a boom arm
* Key Light

This makes it super easy to start recording - no setup / teardown required.

My Multi-Computer WFH Productivity Desk Setup as a Software Engineer and YouTuber - hamy.xyz/blog/2025-05...

05.08.2025 14:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
TypeScript Result Types - and Why You Should Use Them Date: 2025-07-04 | build | create | result | tech | typescript |

TypeScript Result Types - and Why You Should Use Them - hamy.xyz/blog/2025-07...

04.08.2025 18:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What is a Result type?

Results are ergonomic, universal patterns for representing a type that can be either a Success or Failure.

`Result<Success, Failure>` says:

* On Success - get Success payload
* On Failure - get Failure payload

04.08.2025 18:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework Date: 2025-07-25 | artificial-intelligence | build | create | power-coding | software-engineer | vibe-coding | vibe-engineering |

How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework

hamy.xyz/blog/2025-07...

04.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

A code checkpoint is like a save in a game.

A project checkpoint is like a quest tracker.

They are both useful for staying on track and saving progress with AI agents in their own ways.

04.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image

TypeScript Branded types are useful for differentiating two types that are structurally similar:

* ID types (string, Guid, etc)
* raw vs validated payloads (parse, don't validate)

hamy.xyz/blog/2025-05...

#typescript

04.08.2025 16:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Power went out again and my backup battery kicked on fast enough for my desktop to not power off.

Pulling ab 150w for workstation and charging accessories so should last 10+ hours.

04.08.2025 14:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework Date: 2025-07-25 | artificial-intelligence | build | create | power-coding | software-engineer | vibe-coding | vibe-engineering |

How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework

hamy.xyz/blog/2025-07...

03.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework Date: 2025-07-25 | artificial-intelligence | build | create | power-coding | software-engineer | vibe-coding | vibe-engineering |

Two kinds of checkpoints I find useful when building software with AI:

* Code checkpoints - git or similar version control
* Project checkpoints - A project plan (for humans) and a project tracker (for AI)

Code checkpoints save progress, project checkpoints keep you on track.

03.08.2025 17:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
My 2025 Programming Language Tier List Date: 2025-01-03 | create | observe | programming | fsharp | typescript | javascript | python | csharp | golang | hacklang |

My 2025 Programming Language Tier List - hamy.xyz/blog/2025-01...

03.08.2025 02:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

I think Golang is a C Tier language.

I understand why people like its simplicity.

But I think it aims for simplicity at micro scale at the expense of simplicity at macro scale. IMO macro is where complexity really rears its head so it's optimizing for the wrong thing.

#golang

03.08.2025 02:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Would not be possible w/o family and friends!

03.08.2025 00:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@sirhamy is following 20 prominent accounts