Due to the work on Shubox block storage had become an interesting little corner
that I’ve enjoyed researching. I had previously played with minio and found it
to be fine. Recently, the maintainers of Minio had decided to change directions in how “open”
they wanted to make their “open source” product. That’s fine. With the velocity and severity of these
changes, though, it made sense to take a look at something that doesn’t risk having an even more severe
rug-pull moment. Hence - garage.
Up and running with Garage
Docker compose is my preferred method for spinning up services in-house. For this experiment I decided to try both Garage andgarage-webui together. Keep in mind that this is a single node installation, no replication. Just one machine, one instance.
That said, here’s a simple config in a compose.yml file to get things going:
A quick docker compose up -d will get that up and running.
Create a cluster layout
While it may be up and running, you will still need to allocate the disk space (layout) for Garage.
Here’s how:
# get the node id
NODE_ID=`xxd -p ./meta/node_key.pub | tr -d '\n'`
# shorthand for the garage cli
alias garage='docker exec garage /garage -c /etc/garage.toml --rpc-host $NODE_ID@127.0.0.1:3901'
# check status
garage status
# assign node and cluster layout with zone name (dc1) and disk space (10G)
garage layout assign $NODE_ID -z dc1 -c 10G
# apply the layout
garage layout apply --version 1
Check your work
At this point you should be able to visit http://[host-ip]:3909, see Garage-webui, create buckets & keys, etc.
Beyond that, you should install an s3 client like awscli, mc, or s5cmd to test your buckets with whatever key and secret you’ve created via garage-webui.
I’d run into this presentation and blog post from Maggie Appleton before but
just this weekend finally had a chance to sit down and really digest it. My
opinion? The short version, the verdict, is that I could not agree more. Go
read it or watch it. It’s worth it.
Her thesis is that the barefoot developer, the person at home writing software
to scratch a particular itch, will see a rennaissance now that they are further
enabled to write their “home-cooked” software with large language models. The
barriers are now less fortified, the hoops to jump through are larger and less
numerous.
I, for one, welcome this. C’mon in, the water’s warm!
To take it one step further, in addition to the novices (the “barefoot
developers”) being able to do more with LLM’s, what about the professional
engineers? Sure, there are ways where these tools can help at our day jobs.
(Some ways better than others.) Consider those same coders - what about when
they get home from their day job and want to deploy their skills but don’t want
to be beholden to the long list of (necessary! VERY necessary) processes,
checks, and balances that they adhere to at work?
Look - If you just want to whip up a slack bot for your friends to do some
silly little thing? The barrier to getting that done in the past had been time
and effort. I’ll speak for myself, but - the hours to assess, plan, choose the
right stack, libraries, tools, code, document, package, etc … had been enough
to discourage my (ADD-addled) brain from opening up my editor.
Ruth, our puppy, keeping me company while I do some work.
For nearly nine years, Shubox has been a part of my life. It started as
a passion project — a SaaS product that I dreamed might one day stand
on its own. At the time, success, to me, meant autonomy. The more users,
more revenue, the more viability, meant that maybe it could replace my
day job. That was the vision.
(Does that story sound familiar? Work a full time job? Create a side-hustle
that pops, concentrate on that full-time? Yes. It does sound familiar.)
But over time, my definition of success evolved. These days, success
looks a lot more like balance: meaningful work at my full-time job, more
time with my family, and projects that bring me energy rather than drain
it. In that light, keeping Shubox running just didn’t fit anymore. This
is why I made the decision to send an email out last week to customers,
colleagues, friends, supporters, and advisors, that I would be shutting
it down by the end of the year. Emails have been sent out. People have
been notified. I will start the 3 month process of shutting all moving
parts down.
It wasn’t a single dramatic event that led me here, but rather a quiet
repetition: the voice in my head saying, “I should really work on Shubox.”
I heard it one (maybe ten) too many times, often when I’d rather be fully
present with my family. That’s when it clicked — instead of energizing
me, Shubox had become a weight.
I’d had some conversations with friends about it (shout-out to Ben who
in a catch-up conversation made me think really hard about this).
Additionally, my CPA would, like clockwork, remind me every year that we
could wind down all corporate considerations to make the yearly conversation
reduce by one (shout-out Peter! 🐐️). The thought had been bouncing around
in there for a while and when met with the experience above, I think I knew
it was time.
The decision to walk away from Shubox has also changed how I think about
these personal projects. What is “success”? Success isn’t just about longevity
or profitability or autonomy. It’s about how well a project will fit into my
life and whether it adds more than it takes. A successful side project might
be small, fun, and light — not necessarily something that has to “make it big.”
I don’t think anyone would ask me for advice. But, if you’re wrestling with
whether to shut down a project of your own, here’s what I’d say:
Listen to that inner voice; it’s usually telling you the truth.
Don’t measure yourself against other people’s expectations. Only you know whether a project is worth your time.
Letting go doesn’t mean failure. Sometimes it’s the most thoughtful, mature decision you can make.
You’re not giving up on creativity; you’re just making space for projects that actually fit your life.
In closing, Shubox will always mean a lot to me. It taught me about building,
maintaining, and, eventually, letting go. More importantly, it taught me
about myself. While Shubox is coming to an end, my creativity and my desire
to build isn’t. It’s just shifting into something lighter, more sustainable,
and more aligned with where I am today. I’m sure I’ll have something else to
share in the not too distant future.
One of the gifts for my son this past holiday season was that we would bring
him to Fenway Park for the first “Fenway Fest”. Typically the Red Sox have
a “Winter Weekend” but this year moved it home, which is … much more
convenient? For us, at least.
Of course getting to meet the players and get some autographs and cards signed
was the highlight, but the absolute cherry on top of the entire event was the
ability to be in Fenway Park in the middle of a beautiful snow storm.
Fenway. Snow. (animated)
"Carl Yastrzemski" welcoming us to Fenway Park.
The Ted Williams statue outside of Gate B.
FENWAY 2025.
The entrance to Fenway dusted with snow, with the Green Monster in the distance.
The mini-est of snowmen.
Center and right field bleacher seats covered with snow.
New Balance.
As cliché and corny as this may be, still: tend to your career like a garden.
Preface
When I say “no one teaches you”, I mean that there are life lessons that are
not among the typical curriculum provided to young adults as they begin
navigating their ADULT adult lives. Not from their schools, their first jobs,
and not from their parents. This post is a reflection on life
lessons you may have to learn the hard way - like I did.
No one is paying attention to you at work. (Like, really seeing you perform
at that high level.)
Well, mostly. Maybe if you’re some wunderkind? Or 10x unicorn? Maybe.
But no, mostly. Nope.
Sorry.
Why? Because everyone is also trying to make their way, get by, keep their
head above water, or get to the end of the day or week. Being an adult is hard,
and most of us are just tired.
Of course there are always exceptions to the rule. People around you may care,
and may be trying to do what they can to help you excel and get that promotion,
but at the end of the day that responsibility ends up at your feet. The
responsibility to prove that you are doing everything you need to do to move up
that ladder, is ultimately on you.
For an interesting read on what it’s like navigating advancement of a career
in “BIG TECH” (scare quotes!), there is this post from Michael Lynch -
“Why I Quite Google to Work for Myself”. This post has stuck with
me for months, so I couldn’t write my own thoughts without sharing his.
Now, here’s where some of those exceptions kick in - if you’re lucky, you work
at a company that has a tried and true process for showcasing the impact you
have delivered to the business. Perhaps that’s a set of documents that serve as
a framework for advancement, or the company uses something like Lattice to good
effect, or your manager is constantly on your ass to document everything. But
that’s a lot o’ “buts” and “maybes”.
But … most don’t.
So don’t expect that the people in charge of making decisions will just know.
They won’t.1
With that cynicism laced with realism—or vice-versa—out of the way,
what now?
Keep receipts. Document what you’ve delivered month-over-month. What were your
personal initiatives? Where have you delivered against your goals and promises?
Who have you helped improve, and are you able to state how and why? Be direct
on what you intend to do. What are your plans? Look at your organization’s
leveling rubrics and not only track where you meet the expectations, but can
exhibit how you have internalized those skills and have burned into muscle
memory.
I want to be clear on something - I suck at this! I am often so focused on the
day and week at hand, that I neglect to suitably prioritize the documentation
of slow and steady growth. This is as much a reminder for me as it is for
anyone I might have a similar conversation with. I wish I’d more people in my
orbit over the years to beat this into my brain. Alas, I did not. C’est la vie.
(Again, not their problem.)
So if you’re reading this, consider the above. Good luck. Look out for #1.
Keep your receipts. And let me know how it goes.
I worked at this consultancy several lifetimes ago. I was doing good work (as far as I knew) and had several people telling me as much. The challenge at the time was that the department we were in skewed more towards the design/IA/UX side of work at a digital agency, but as a specialist in front-end technology I, and others, were on the fringes and met with an apples vs. oranges, compare-and-contrast, problem. I was not equipped at that time to make the case for myself and outline where my personal value and the role’s trajectory (from a larger digital evolutionary perspective) was. My memory recalls that I eventually did get that promotion, but the glacial turn towards getting there burned me out enough to leave when I could. To be clear, most of that was a product of my inaction and the inability to realize this. ↩
Hi, I'm Joel. 👋
An engineering manager in Boston. I write about my family, my (bull)dogs,
code and technology, and whatever projects I am currently obsessed with.
I occasionally post on Mastodon (@jayroh)
and at BlueSky (@jayroh.dev).