Been busy working on a bunch of stuff this weekend for Flarum. I hope they'll be happy with it. 🙂
I still focus on areas where it can be improved for the average Joe that comes across the software though. Slowly but surely, that gap is getting narrower!
People need to stop tearing apart LCPL Houston.
Dude is messed up physically and mentally after the Afghanistan Withdrawal. Sure he didn’t look his best there, but he’s reliving the trauma he’s endured 5 years ago.
Instead, honor him and help him. You can clearly tell his spirit is broken.
Displayed heroism and valor; then for 5 years, been in the dark and probably question, “Why did I survive?”
Survivors guilt is real. And it’s tearing him apart.
I've spent the last couple of days redoing and undoing my Link Robins
website and business plan. Over and over. Each time the goal was the same:
shift it somewhere that hurts me less, somewhere the business might finally
catch some momentum. And each time I'd unwind it and start again.
The honest reality is that I should stay exactly where I am. Not because the
current shape is perfect, but because the constant tearing-down costs more
than any of the rewrites would ever earn back. What I actually need isn't a
new direction — it's to make the one I already have more sensible for
myself.
The thing I keep circling is Flarum. I've been close to pulling it from my
offering entirely and just being done with it. But every time I get there, I
remember it's still a real pain point for a lot of people — and that's the
whole reason I'm in it. So I'm sticking with it for the time being. Ease the
transition, keep it manageable, and maybe adoption picks up over the next
couple of months. That's a maybe worth waiting on.
A lot of this doubt isn't really about me. The state of the internet right
now is weird and unpredictable. Hard to plan against something that won't sit
still long enough to read. When the ground keeps moving, the instinct is to
keep moving with it — but that's exactly how you end up undoing your own work
every two days.
So the reminder to myself: stop redoing. Stay the course, make it sensible,
and let it sit long enough to actually go somewhere.
When I started hosting Flarum forums, the pitch was scale. Help communities
that were already big handle the load and keep running. It's a real problem,
but it's also a solved one — there's already a market for that, and I was
walking into it late.
So I shifted. Instead of scale, I'd help communities grow. That felt closer
to the truth of what I wanted to do, but it's exactly where I kept stalling out
on clients. Selling "growth" to a forum that doesn't exist yet, or barely does,
is a hard thing to land.
The reframe I've settled on is simpler, and I think it's the right one: help
communities start and grow with Flarum. Not scale a mature ecosystem, not
promise growth to people who haven't begun — just be the easy, obvious place to
plant a forum and let it get bigger on its own terms.
Part of this is honestly about me. As a solo operator, the time I was pouring
into scaling a growing ecosystem was hurting me, badly. Every hour spent
babysitting the high end was an hour I wasn't spending on the thing that
actually pays: bringing in more clients and building custom sites. I have to be
realistic about where one person's time goes.
So here's the focus. Adoptable pricing, with addons for the people who want
more. Get communities in the door at a price that makes saying yes easy. The
limits I offer are generous — nothing here stops a forum from getting to a
moderate size comfortably — but the revenue that earns an actual profit comes
from the custom client work, not from Flarum hosting alone.
That's the part I kept getting backwards. I don't need to win the scale game. I
need to win the start — the moment someone decides to launch a community and
picks where to put it. From there, growth takes care of itself, and the
relationships I build are what turn into the custom sites that keep the whole
thing afloat.
Focus on what converts. Everything else was me solving problems I didn't need
to own.
I've spent the last week on minimal sleep. Running my own business on one
side, working full time for my employer on the other, and neither one got
less of me because the other exists.
I'm committed to both causes. The momentum will not slow down. I will
succeed at both — and I'll do it while maintaining my relationship with
my family, because that part isn't negotiable.
People talk about balance like it's something you find. I don't think it
is. The balance is sacrifice: you lose something to gain something. The
trick is choosing what you can afford to lose. For me, right now, that's
sleep. Sleep slows me down.
There's a principle I keep coming back to, and lately it feels more
load-bearing than ever: own what you ship. If you can stand behind every
line of what you build — explain what it does, fix it when it breaks,
support the people using it — you're doing it right. How you wrote it
matters far less than whether you understand it.
That's always been true. What's changed is how easy it now is to ship
something you don't understand. I use AI every day — boilerplate,
debugging, the boring parts — and I'm not interested in pretending that's
a problem. It isn't. The problem is publishing code you've never actually
read, can't explain, and won't be able to maintain. AI didn't invent
that; it just made it possible at scale.
So I keep coming back to the divide I think is coming. Not between people
who use AI and people who don't — that line won't mean much for long. The
one that lasts is between builders who understand what they ship and
builders who don't. The tools are about to make both kinds far more
productive, which means the gap between them gets wider, faster, and a lot
more visible. Two people can hand you the same working code; six months
later, only one of them can still tell you why it works.
I know which one I want to be, and it's the same answer it would have been
ten years ago. The tooling got louder. The bar didn't move.
Native Flarum search is exact-match. Misspell a word and you get nothing
back — which is exactly when you're most likely to be searching, half
remembering a thread from months ago. So this week I wired up Typesense for
Flarum Hosting, and now Pro and Enterprise forums get typo-tolerant, instant
search. Fat-finger the query and it still finds the thread.
It's the same shape as the analytics I added earlier: one shared search
service running alongside the platform, with each forum walled off in its own
space, and the whole thing gated to the Pro and Enterprise tiers. There's
nothing for the client to install or babysit — it hooks straight into Flarum
2.0's native search, so it's just part of the hosting. Post something and it's
indexed in real time; a quiet weekly pass keeps everything honest.
A forum is really only worth its archive. All that accumulated knowledge —
the fix someone posted two years ago, the long thread where a decision got
made — is only useful if people can actually find it again. Exact-match search
quietly buries most of it. This digs it back out.
I'll be honest: the feature itself was the easy part. Typesense's API had a
few sharp edges that took longer to file down than building the thing did. But
that's the work — the messy middle is where the polish comes from.
Analytics, then automatic TLS, now search. The platform keeps getting quietly
better, one removed annoyance at a time.
I help out on the Flarum forums when I can. This week's thread was a
marathon — someone on shared hosting upgrading Flarum 1.8 to 2.0, and
nearly everything that could go sideways did. We chipped away at it
across thirty-some posts: a blocked exec() function, a full vendor wipe
and reinstall, and a database driver that needed correcting — the config
said MariaDB; it wanted mariadb. One last extension that hadn't
caught up with 2.0 removed, cache cleared, migrations run, and their
site came back to life.
Thank you so much, Master! You are my Guruji. My website is working now.
Thank you for your valuable time, patience, and guidance. I am truly
grateful for all your help...
I am nobody's Master and definitely nobody's Guruji. But I'd be lying if
I said messages like that — and seeing a post marked as the best answer —
don't make the whole thing worth it. That's the loop I keep coming back
to: help when you can, and every so often someone takes the time to tell
you it mattered.
I've been experimenting with TLS for SaaS by Cloudflare,
and it's one of those features that quietly removes a whole category of work.
Last night I shipped custom hostnames for Link Robins status pages. Each
client CNAMEs their own subdomain — something like status.client.com — at
the status page service, and Cloudflare for SaaS takes care of issuing and
renewing the TLS certificate for their hostname. The client keeps their own
domain, I don't touch a cert, and it just works.
Next up: expanding the same approach to Flarum Hosting clients. The idea is
the same — point your own domain, say forum.client.com, at the hosting, and
Cloudflare handles cert issuance automatically. No manual TLS work per
client, no walking anyone through certificate uploads — bring your domain,
and the rest happens on its own.
Status pages were the proving ground. Forums are next.
I have no idea how Points work at discuss.flarum.org. I just know I went to
bed with 8 and woke up with 9.
I could go read how the gamification extension actually scores things, but
honestly, the mystery is half the fun. A number went up while I was asleep.
I'm counting it as an accomplishment.
Two pull requests landed on the FriendsOfFlarum SEO extension within the last
hour, and these are exactly the kind of features I can get behind.
The first one adds a toggle to de-index user profile pages.
Profile pages are classic low-value pages for search — thin content, mostly
duplicate links — and having them in the index does nothing for a forum but
dilute it. The PR does it the right way too: noindex, follow, so crawlers
still traverse the links without keeping the page itself in results.
The second one goes further: exclude entire tags from indexing.
Pick the tags, and every discussion in them — plus the tag's own listing
page — gets de-indexed. Selecting a parent tag covers its children too.
That's exactly what you want for off-topic lounges, support dumps, or
internal staff areas that have no business showing up in Google.
A lot of SEO tooling is busywork that chases scores instead of outcomes.
These two are the opposite: simple controls over what search engines see,
solving real problems forum admins actually have. More of this, please.
I've spent the last couple of weeks optimizing my workflow for Link Robins,
and the improvements are starting to pay off. The big one: a lot of the
deployments for client sites are now offloaded and automated instead of being
something I have to babysit by hand.
That frees up real time and headspace. The everyday chores that used to get
squeezed in around deployments can actually take priority now, instead of
constantly losing out to busywork.
Sometimes troubleshooting takes hours, even days. Other times it's quick and
painless. I've had several run-ins like that this past week — some problems
fold the moment you look at them, others make you earn every inch.
My head's already big. And when other people start inflating your work, it can
only get bigger. That's the dangerous part — praise feels good, but it's not
the same thing as progress.
So the reminder to myself: stay humble, but keep growing. You only cap
yourself.
I've been daily driving CachyOS on my personal laptop for about a week now, and
every time I type on it or do anything with it, I'm seriously considering wiping
my Windows 11 SSD and mounting it as extra storage for CachyOS.
It's really annoying what Windows 11 has become. I need something that just
works well, with low resource usage, and that's efficient at everything I throw
at it. So far, CachyOS is exactly that.
I wanted to jump to Arch Linux proper, but the curve is too steep. CachyOS gets
me the Arch experience without the climb — and I need to get back to what
matters: catering to my clients.
With a military background in depot aircraft repair, the easy move was the obvious
one: going from I-Level maintenance to Depot Level maintenance. So that's what I
did, and I stuck with it for a couple of years.
I found it very unrewarding. Don't get me wrong — the job was decent, and I love
contributing to the United States. But it felt like a dead end. Everyone told me I
was doing a great job, and then when it came down to promotions it was always the
same: empty promises, or a job opening that got cancelled.
Eventually I said enough is enough, and I left.
I'm in a better state now because of that leap. For the first time, I actually
feel like an adult.
I'm approaching 1,000 commits on GitHub so far this year. It's not a number I set
out to hit — it's just what's piled up from showing up and doing the work.
Each of those commits carries something I learned. Running my own hosting
service. Working with clients and figuring out what they actually need. Building
and shipping sites and extensions, and all the small, unglamorous lessons that
come from getting things into people's hands. There's been plenty more along the
way, too.
I don't regret any bit of it. Every challenge was just another avenue of growth —
the dead ends as much as the wins.
Will I slow down? Once I'm satisfied — am I there yet? No. Far from it.