Hamilton Greene
@sirhamy.bsky.social
Technomancer building Simple Scalable Systems. hamy.xyz
Believe it or not, you should avoid sitting like a shrimp for hours on end.
It will cause excess stress on various parts of your body leading to chronic pain long-term.
Here's how to setup a more ergonomic desk - hamy.xyz/blog/2025-09...
It will cause excess stress on various parts of your body leading to chronic pain long-term.
Here's how to setup a more ergonomic desk - hamy.xyz/blog/2025-09...
November 10, 2025 at 11:45 PM
Believe it or not, you should avoid sitting like a shrimp for hours on end.
It will cause excess stress on various parts of your body leading to chronic pain long-term.
Here's how to setup a more ergonomic desk - hamy.xyz/blog/2025-09...
It will cause excess stress on various parts of your body leading to chronic pain long-term.
Here's how to setup a more ergonomic desk - hamy.xyz/blog/2025-09...
PSA: You can create draft PRs with Codex (OpenAI's browser-based coding agent) by clicking the dropdown next to `Create PR`
This is a good idea as most AI outputs could use another pass of review / refinements before they're ready to be reviewed by anyone else.
This is a good idea as most AI outputs could use another pass of review / refinements before they're ready to be reviewed by anyone else.
November 9, 2025 at 6:41 PM
PSA: You can create draft PRs with Codex (OpenAI's browser-based coding agent) by clicking the dropdown next to `Create PR`
This is a good idea as most AI outputs could use another pass of review / refinements before they're ready to be reviewed by anyone else.
This is a good idea as most AI outputs could use another pass of review / refinements before they're ready to be reviewed by anyone else.
November 6, 2025 at 1:35 AM
I hear a lot of grumblings that code review is a waste of time.
IMO it's one of the best ROI processes for building alignment and sharing knowledge.
It may take some extra time in the short term but it saves a lot of rework long-term.
IMO it's one of the best ROI processes for building alignment and sharing knowledge.
It may take some extra time in the short term but it saves a lot of rework long-term.
November 3, 2025 at 11:45 PM
I hear a lot of grumblings that code review is a waste of time.
IMO it's one of the best ROI processes for building alignment and sharing knowledge.
It may take some extra time in the short term but it saves a lot of rework long-term.
IMO it's one of the best ROI processes for building alignment and sharing knowledge.
It may take some extra time in the short term but it saves a lot of rework long-term.
Exceptions typically take a copy of the stack trace and (if thrown) roll up the callstack to find the next try/catch.
This is useful for debugging when unexpected things happen.
However it is super costly if all you're going to do is catch it and do manual recovery.
This is useful for debugging when unexpected things happen.
However it is super costly if all you're going to do is catch it and do manual recovery.
5 Reasons to Stop Throwing Exceptions - and What To Do Instead for a more Robust, Composable, and Performant Codebase
Date: 2025-07-02 | create | errors | exceptions | programming | software | software-engineering | tech |
hamy.xyz
November 2, 2025 at 6:01 PM
Exceptions typically take a copy of the stack trace and (if thrown) roll up the callstack to find the next try/catch.
This is useful for debugging when unexpected things happen.
However it is super costly if all you're going to do is catch it and do manual recovery.
This is useful for debugging when unexpected things happen.
However it is super costly if all you're going to do is catch it and do manual recovery.
I like Obsidian for note taking but its sync is rarely allowed by company IT.
So I typically just backup the Vault folders to whatever file storage system is approved by IT.
hamy.xyz/blog/2025-09...
So I typically just backup the Vault folders to whatever file storage system is approved by IT.
hamy.xyz/blog/2025-09...
November 2, 2025 at 12:30 AM
I like Obsidian for note taking but its sync is rarely allowed by company IT.
So I typically just backup the Vault folders to whatever file storage system is approved by IT.
hamy.xyz/blog/2025-09...
So I typically just backup the Vault folders to whatever file storage system is approved by IT.
hamy.xyz/blog/2025-09...
Stacked commits in git are basically just single commit branches.
Instead of adding a new commit on a branch to change it, you just amend the existing commit.
What Are Stacked Commits and Why Should You Use Them? - hamy.xyz/blog/2025-07...
Instead of adding a new commit on a branch to change it, you just amend the existing commit.
What Are Stacked Commits and Why Should You Use Them? - hamy.xyz/blog/2025-07...
November 1, 2025 at 8:01 PM
Stacked commits in git are basically just single commit branches.
Instead of adding a new commit on a branch to change it, you just amend the existing commit.
What Are Stacked Commits and Why Should You Use Them? - hamy.xyz/blog/2025-07...
Instead of adding a new commit on a branch to change it, you just amend the existing commit.
What Are Stacked Commits and Why Should You Use Them? - hamy.xyz/blog/2025-07...
The Four Pillars of Career Growth:
- Technical Skill: Your chosen craft.
- Project Execution: Getting things done.
- Product Thinking: Setting direction, impact for the business.
- People Skills: How you collaborate.
- Technical Skill: Your chosen craft.
- Project Execution: Getting things done.
- Product Thinking: Setting direction, impact for the business.
- People Skills: How you collaborate.
October 25, 2025 at 12:01 AM
The Four Pillars of Career Growth:
- Technical Skill: Your chosen craft.
- Project Execution: Getting things done.
- Product Thinking: Setting direction, impact for the business.
- People Skills: How you collaborate.
- Technical Skill: Your chosen craft.
- Project Execution: Getting things done.
- Product Thinking: Setting direction, impact for the business.
- People Skills: How you collaborate.
One of the best strategies I've found for avoiding doom scrolling is to time block my calendar.
I found my scrolling habit would typically kick in whenever I had random bits of free time.
Time blocks have helped ensure more time in my day has a specific purpose.
I found my scrolling habit would typically kick in whenever I had random bits of free time.
Time blocks have helped ensure more time in my day has a specific purpose.
October 23, 2025 at 6:53 PM
One of the best strategies I've found for avoiding doom scrolling is to time block my calendar.
I found my scrolling habit would typically kick in whenever I had random bits of free time.
Time blocks have helped ensure more time in my day has a specific purpose.
I found my scrolling habit would typically kick in whenever I had random bits of free time.
Time blocks have helped ensure more time in my day has a specific purpose.
October 23, 2025 at 12:15 AM
Coolify works great for app configurations but doesn't help much for server / platform configs.
That's largely by design but it means that you have to build a way to handle server configurations - especially if you're configuring across multiple servers.
hamy.xyz/blog/2025-08...
That's largely by design but it means that you have to build a way to handle server configurations - especially if you're configuring across multiple servers.
hamy.xyz/blog/2025-08...
October 20, 2025 at 8:04 PM
Coolify works great for app configurations but doesn't help much for server / platform configs.
That's largely by design but it means that you have to build a way to handle server configurations - especially if you're configuring across multiple servers.
hamy.xyz/blog/2025-08...
That's largely by design but it means that you have to build a way to handle server configurations - especially if you're configuring across multiple servers.
hamy.xyz/blog/2025-08...
PSA: Eight Sleep temperature changes may be waking you up.
I've been waking up in the middle of the night the past couple weeks so tried turning off all the temp changes in Eight Sleep. Since then I've been sleeping the whole night.
Worth double checking your settings.
hamy.xyz/blog/2025-10...
I've been waking up in the middle of the night the past couple weeks so tried turning off all the temp changes in Eight Sleep. Since then I've been sleeping the whole night.
Worth double checking your settings.
hamy.xyz/blog/2025-10...
PSA: Eight Sleep Autopilot May Be Waking You Up
Date: 2025-10-18 | eight-sleep | gadgets | reflect |
hamy.xyz
October 18, 2025 at 5:41 PM
PSA: Eight Sleep temperature changes may be waking you up.
I've been waking up in the middle of the night the past couple weeks so tried turning off all the temp changes in Eight Sleep. Since then I've been sleeping the whole night.
Worth double checking your settings.
hamy.xyz/blog/2025-10...
I've been waking up in the middle of the night the past couple weeks so tried turning off all the temp changes in Eight Sleep. Since then I've been sleeping the whole night.
Worth double checking your settings.
hamy.xyz/blog/2025-10...
Strong, expressive types removes the need for many kinds of parameterized tests.
Instead the compiler works as the test - if it doesn't conform to the definition, the code won't even compile.
Reason #5 F# sucks: Your buggy code won't even compile
hamy.xyz/blog/2025-06...
#fsharp
Instead the compiler works as the test - if it doesn't conform to the definition, the code won't even compile.
Reason #5 F# sucks: Your buggy code won't even compile
hamy.xyz/blog/2025-06...
#fsharp
7 Reasons F# Sucks
Date: 2025-06-18 | build | create | csharp | fsharp | tech |
hamy.xyz
October 18, 2025 at 4:54 PM
Strong, expressive types removes the need for many kinds of parameterized tests.
Instead the compiler works as the test - if it doesn't conform to the definition, the code won't even compile.
Reason #5 F# sucks: Your buggy code won't even compile
hamy.xyz/blog/2025-06...
#fsharp
Instead the compiler works as the test - if it doesn't conform to the definition, the code won't even compile.
Reason #5 F# sucks: Your buggy code won't even compile
hamy.xyz/blog/2025-06...
#fsharp
Some ways Obsidian is better than Notion:
- Local and lightweight - just markdown files
- I control the data - can backup how I want
- Highly customizable - HTML / CSS / JS
Why I'm Moving my Personal Notes from Notion to Obsidian - hamy.xyz/blog/2025-09...
- Local and lightweight - just markdown files
- I control the data - can backup how I want
- Highly customizable - HTML / CSS / JS
Why I'm Moving my Personal Notes from Notion to Obsidian - hamy.xyz/blog/2025-09...
October 17, 2025 at 10:45 PM
Some ways Obsidian is better than Notion:
- Local and lightweight - just markdown files
- I control the data - can backup how I want
- Highly customizable - HTML / CSS / JS
Why I'm Moving my Personal Notes from Notion to Obsidian - hamy.xyz/blog/2025-09...
- Local and lightweight - just markdown files
- I control the data - can backup how I want
- Highly customizable - HTML / CSS / JS
Why I'm Moving my Personal Notes from Notion to Obsidian - hamy.xyz/blog/2025-09...
Another benefit I've noticed from quitting coffee:
I tend to bounce back faster after a night or two of bad sleep.
Less zombie in mornings and can get through full day with decent energy. Useful if you tend to get woken up in the middle of the night.
hamy.xyz/blog/2025-10...
I tend to bounce back faster after a night or two of bad sleep.
Less zombie in mornings and can get through full day with decent energy. Useful if you tend to get woken up in the middle of the night.
hamy.xyz/blog/2025-10...
An Unexpected Benefit from Quitting Coffee - 10 Months In
Date: 2025-10-15 | caffeine | coffee | health | productivity | reflect |
hamy.xyz
October 17, 2025 at 5:41 PM
Another benefit I've noticed from quitting coffee:
I tend to bounce back faster after a night or two of bad sleep.
Less zombie in mornings and can get through full day with decent energy. Useful if you tend to get woken up in the middle of the night.
hamy.xyz/blog/2025-10...
I tend to bounce back faster after a night or two of bad sleep.
Less zombie in mornings and can get through full day with decent energy. Useful if you tend to get woken up in the middle of the night.
hamy.xyz/blog/2025-10...
To code with AI effectively, you need to take an active role:
* Plan your project beforehand
* Build one small feature at a time
* Understand your system as you build
Don't vibe code, vibe engineer.
* Plan your project beforehand
* Build one small feature at a time
* Understand your system as you build
Don't vibe code, vibe engineer.
October 16, 2025 at 6:09 PM
To code with AI effectively, you need to take an active role:
* Plan your project beforehand
* Build one small feature at a time
* Understand your system as you build
Don't vibe code, vibe engineer.
* Plan your project beforehand
* Build one small feature at a time
* Understand your system as you build
Don't vibe code, vibe engineer.
I've worked as a software engineer for 8 years and spent considerable time, effort, and money making my WFH desk setup ergonomic.
My best advice is:
* Rule of 90 - Everything at right angles
* Static Rule - Move as little as possible for common operations
My best advice is:
* Rule of 90 - Everything at right angles
* Static Rule - Move as little as possible for common operations
October 10, 2025 at 10:01 PM
I've worked as a software engineer for 8 years and spent considerable time, effort, and money making my WFH desk setup ergonomic.
My best advice is:
* Rule of 90 - Everything at right angles
* Static Rule - Move as little as possible for common operations
My best advice is:
* Rule of 90 - Everything at right angles
* Static Rule - Move as little as possible for common operations
You should always review your AI's code before creating a PR in the same way that you should always review your own code before creating a PR.
Don't send out a rough draft, send out a first draft. It saves everyone time.
Don't send out a rough draft, send out a first draft. It saves everyone time.
October 3, 2025 at 10:01 PM
You should always review your AI's code before creating a PR in the same way that you should always review your own code before creating a PR.
Don't send out a rough draft, send out a first draft. It saves everyone time.
Don't send out a rough draft, send out a first draft. It saves everyone time.
Exceptions use a different control flow than basically any other programming language feature.
They are glorified goto statements that bypass everything except for try/catch blocks callers _may_ have implemented.
This makes systems harder to reason about and fail gracefully with.
They are glorified goto statements that bypass everything except for try/catch blocks callers _may_ have implemented.
This makes systems harder to reason about and fail gracefully with.
5 Reasons to Stop Throwing Exceptions - and What To Do Instead for a more Robust, Composable, and Performant Codebase
Date: 2025-07-02 | create | errors | exceptions | programming | software | software-engineering | tech |
hamy.xyz
October 2, 2025 at 6:57 PM
Exceptions use a different control flow than basically any other programming language feature.
They are glorified goto statements that bypass everything except for try/catch blocks callers _may_ have implemented.
This makes systems harder to reason about and fail gracefully with.
They are glorified goto statements that bypass everything except for try/catch blocks callers _may_ have implemented.
This makes systems harder to reason about and fail gracefully with.
October 2, 2025 at 12:15 AM
Where feature branches attempt to land a full feature all at once, stacked commits aim to land atomic, logical units of change one at a time.
This helps with:
* Avoiding merge conflicts
* Easier, faster reviews
* Test in prod early
* Higher confidence in code change
This helps with:
* Avoiding merge conflicts
* Easier, faster reviews
* Test in prod early
* Higher confidence in code change
October 1, 2025 at 8:01 PM
Where feature branches attempt to land a full feature all at once, stacked commits aim to land atomic, logical units of change one at a time.
This helps with:
* Avoiding merge conflicts
* Easier, faster reviews
* Test in prod early
* Higher confidence in code change
This helps with:
* Avoiding merge conflicts
* Easier, faster reviews
* Test in prod early
* Higher confidence in code change
Project checkpoints keep humans and AI on track
* RFCs - describing problem, context, solution, and milestones
* A task description - describing context and todos
* A task tracker - so the AI can keep notes and update todos
* RFCs - describing problem, context, solution, and milestones
* A task description - describing context and todos
* A task tracker - so the AI can keep notes and update todos
September 25, 2025 at 6:38 PM
Project checkpoints keep humans and AI on track
* RFCs - describing problem, context, solution, and milestones
* A task description - describing context and todos
* A task tracker - so the AI can keep notes and update todos
* RFCs - describing problem, context, solution, and milestones
* A task description - describing context and todos
* A task tracker - so the AI can keep notes and update todos
September 25, 2025 at 12:15 AM
I time block access to scrolling social media apps to limit their distractions
* 0000-1800 - No scrolling socials
* 1800-0000 - Can access
I currently use the Stayfocusd Chrome extensions to limit time on my computer and the built-in work mode on my Android phone.
* 0000-1800 - No scrolling socials
* 1800-0000 - Can access
I currently use the Stayfocusd Chrome extensions to limit time on my computer and the built-in work mode on my Android phone.
September 23, 2025 at 6:49 PM
I time block access to scrolling social media apps to limit their distractions
* 0000-1800 - No scrolling socials
* 1800-0000 - Can access
I currently use the Stayfocusd Chrome extensions to limit time on my computer and the built-in work mode on my Android phone.
* 0000-1800 - No scrolling socials
* 1800-0000 - Can access
I currently use the Stayfocusd Chrome extensions to limit time on my computer and the built-in work mode on my Android phone.