February 5, 2024

“In the Beginning”

Day

1

6:50 AM

Welcome!

This is the first day of my official “employment”. Put simply, I don’t want to get a job – and I still have a little run room before my finances get critical – so why not start a business? In theory, it shouldn’t be terribly difficult to make a living.

In theory…

And why not keep a public journal of the journey while I’m at it?

Insomniverse is a placeholder domain; it’s not going to be the name of the business. For now it’s just where these journals live as I build things out. I do have an idea that I think is good (for a change!), so I’m giving myself ninety days to develop the proof of concept and the business plan.

This is going to be a lot of work, and unlike my previous half-baked efforts, I’m going to actually do this full time for the next ninety days, as if it’s a real job. I’m hoping for success. Keep your fingers crossed for me!

I won’t likely be this wordy normally – this is a journal, not a blog, and it’s so low priority that I haven’t even finished the theme yet – but I felt an introduction was in order. Today my goal is to sketch out what I’m trying to build, and then I’m going to start building the proof of concept.

Simple enough.

As to what the business is? I’m not going to reveal that publicly yet, other than to say that it involves both hardware and software. You might get glimpses, but I’m going to keep it close for now, lest someone eat my lunch…

Each day’s journal will get longer as the day progresses and I have things to mention. Some days will be quiet, some days will be exceptionally wordy.

Watch this space!

7:30 AM

It was a struggle with Apple’s new “Freeform” package to draw out the initial workflow. I managed to make it work, but I probably would have been better off with OmniGraffle. I hate learning new tools when I’m not actually interested in learning them…

Either way, I now have an idea of what the pieces are that I want to build. Now I just need to decide on the initial toolset…

8:43 AM - “The Framework Rabbit Hole”

I forgot just how obnoxious getting started can be.

I’ve settled on Go for the server-side toolset, which is no great surprise. It’s an easy language to write in, has excellent HTTP support, and is the last thing I used, so I’ll likely remember it quickly. Unfortunately I’ve only really tinkered, and I don’t know the so-called “best practices”.

Long story short: I’m going to use standard net/http stuff, the Chi router and included middlewares, and whatever else strikes my fancy. I need to keep reminding myself that this is a proof of concept; it doesn’t need to be production ready just yet.

It’s always easier to iterate than it is to start. All I need is something that actually works, even if it doesn’t have all the features. Like, y’know, authentication and the like…

Holy moly are there a ton of tools out there these days…

9:36 AM - “Unexpected Break”

I forgot that all my Yum mirrors are out of date; I need those updated so I can get a more recent version of golang; that’s in progress. I also have a plumber coming later to fix a pressure regulator on my water softener, so I need to go clear out that part of the garage (which I forgot to do last night).

Will be back at it later.

I hate interruptions.

10:07 AM

I’m back, but my repo sync isn’t yet finished, and might not be for quite a while. I picked up a book the other day called The Personal MBA; I think I’ll read a chapter or two in that. I do need to figure out the actual business plan and get the business set up legally.

Learning about that sort of thing is a reasonable use of my time while other things proceed…

11:27 AM - “Lunch Time Approacheth...”

Reading a chapter in my book gave rsync enough time to get the “latest” golang packages (they’re a little out of date, but only 1.20 instead of 1.21). Fired up a new host (thank you terraform!) with a golang dev role, and now I’m ready to start writing stuff.

Finally!

Lunch might be a good idea first, though. I got an early start, so now will do just fine…

12:05 PM

Back from lunch. Time to start putting together the framework for the user’s console. If I can get it to the point where it’s up and running and has an interface by the end of tomorrow (even if it doesn’t actually do anything!), I’ll be pretty happy.

I really want to start working on the hardware…

12:40 PM

Plumber is here. Sigh. Break time!

1:38 PM - “Back To Work!”

Now that my water softener is no longer threatening to flood my garage, it’s time to get back to work. Chop chop!

2:48 PM - “Thoughts on Scale”

This is taking me down some interesting rabbit holes.

Some seemingly very simple things are actually important to consider up front – not because you want to invest in those things right at the moment, but because you need to leave the hooks in place for later. Or least have a plan.

One such thing is scale strategies.

Chances are that the software side of this won’t ever be horribly taxed, but I can’t guarantee that. I don’t want to invest in some sprawling ecosystem of microservices. I want to maintain something simple.

Where I’m currently at: the three “components” that are a part of this can easily be built into a single application. If I need to scale it, I can run three clusters of the same software, and just change some DNS around.

I really don’t see the downside…

3:04 PM

Just discovered this database migration tool for golang. Didn’t know it existed before now. Useful; now I won’t have to write my own…

4:11 PM

Pretty much done with the early design for the general database schema that the core database will use. I also found an area where things aren’t going to work as smoothly as I would like. There is a workaround, though, so I’m going to ignore that for now.

I don’t want to stop, but I need to go eat dinner, and I have other things to do. Not to mention, I don’t want to burn out, and working 18 hour days will cause that!

All in all, decent progress so far. We’ll see if I can stay away, or if I end up coming back and working on it this evening…

I really do have other things to do tonight, though!