Luke Bouch en Thu, 02 Feb 23 18:36:18 +0000 Why Material UI? Tue, 10 Jan 23 18:48:00 +0000

I don’t understand why Material UI has become so popular. Today at work, I was doing some research on Vue UI Libraries and the majority of the ones I found were implementing it.

In my opinion it is actually not very pleasing to use but maybe that is just because it so heavily used by all of Google’s app and I so strongly dislike Google after all of the privacy issues that have come out. Sun, 13 Nov 22 23:09:00 +0000

I totally lost the ball on blogging recently. I have been making some changes to my site recently and it is not as easy to post now and therefor I post less. I'm hoping to have a little more time soon to get a few kinks worked out.

I'm considering changing a few things up in regard to the way I blog and hopefully start having posting some more coherent thoughts. Tue, 08 Nov 22 12:16:00 +0000

Technical Skill is the mastery of complexity, while Creativity is the master of simplicity.

Experiment: Work Schedule Sun, 06 Nov 22 03:12:00 +0000

After reading this post from Mike Crittenden on experimenting on myself, I decided to run my own experiment this past week.

I asked my boss if it would be ok if I started work at 7am instead of my usually 8am and then take an extra hour off for lunch. This gave me an hour and I half off for lunch and it was super nice! Not only did it give me a break from siting at a desk all day but it also gave me a chance to get a few things done.

I'm going to talk to my boss and if he is ok with it, I think I'm going to make this my new schedule. Tue, 01 Nov 22 17:00:00 +0000

When consuming code knows less about the inner workings of a model, the model is more easily changed. The blast radius of model changes becomes more contained, resulting in a higher delivery rate and ultimately more business value delivered. Sun, 16 Oct 22 23:40:55 +0000

I started working on redesigning my site today. I just wanted to get something up previously so I neglected the design. I will hopefully have that fixed soon.

Choosing the Long Line Sun, 16 Oct 22 02:35:25 +0000

Something interesting happened the other day. I was going through the Chick-fil-a drive-through and there had two lanes. One of the lines had a significant line while the other one had no cars in it. The way it wraps around the building, I could not tell if their where people working both lanes or just the one. And so I wondered, is this second lane open, and if so, why were was no one in that lane. It took me a moment to try to decide what line I should enter.

It was fascinating, because I chose to enter the line of cars in lane one as opposed to taking the risk of entering lane two and it turning out to be closed. I later approached the area where you place you order and realized both lanes were in fact open. Yet, in fear that I would end up in a lane that was closed, I opted to join the long line and play it safe.

Just and interesting observation. I'm sure their have been plenty of people that have studied this.

Migrating from Laravel's Token Guard to Sanctum Thu, 13 Oct 22 16:01:35 +0000

In an application I was working on today, I had to migrate from Laravel token authentication to Sanctum. The process went relatively smoothly but just in case someone else has trouble, I thought I would layout the migration process.

Installing Sanctum

I’m going to direct you to the official documentation for instructions on installing Sanctum. It’s very straight forward and should be easy for anyone follow.

Migrating Api Keys

In this application, we had a ApiUser model to distinguish between regular users and other applications that talk to our api. While Sanctum uses a second table to store the access tokens (personal_access_tokens), with the Laravel token authentication guard, we were storing the token directly on the ApiUser model itself. We did not want to invalidate all of the api keys we already had in the database so migrating them all over to Sanctum’s personal_access_tokens table was essential.

Following the documentation, I added the HasApiTokens trait to the model I was going to be associating the tokens with. This provides all of the necessary methods and relationships in order to both create tokens for the model and to authenticate the incoming request against the model.

To migrate the tokens from the old table to the new one was a little bit tricky and I had to do some digging in the source code of Sanctum in order to come up with a solution. You see, we were storing our tokens in plain text in the database, but Sanctum hashes the token before storing them. This meant it was not just as simple as coping the tokens from one table to the next.

I first tried using the createToken() method the HasApiTokens trait provides. The problem with this is was, it generates the token for you and does not allow you to actually specify you own string to use as the token (which is what I needed to do in order to migrate the old tokens over).

I was able to dive into the source code for createToken() and realized all it was doing was creating a PersonalAccessToken with a randomly generated string and saving it to the model. I copied and pasted this function and with a little modification, was able to create this migration that would work.

return new class extends Migration
    public function up()
        ApiUser::all()->each(function (ApiUser $apiUser) {
            $plainTextToken = $apiUser->api_token;

                ‘name’ => ‘Migrated Token’,
                ‘token’ => hash(‘sha256’, $plainTextToken),
                ‘abilities’ => [‘*’],
                ‘expires_at’ => null,

Changing the Authentication Middleware

I had to then instruct Laravel to use Sanctum as opposed to the token guard for authentication to our api. I did a search for ->middleware([‘auth:api’]) and replaced all instances of auth:api with auth:sanctum.

Updating Tests

With the all of the tokens successfully migrated over to the personal_access_tokens table and our api.php routes file updated to use the new middleware, the last thing to do was to update all of our tests that were manually passing a bearer token in the authorization header with every request to using this snippet that I found and modified from the documentation: Sanctum::actingAs(ApiUser::factory()->create(), [‘*’]);.


In conclusion, migrating to Laravel Sanctum is not as hard as I expect it would be. It’s fairly straight forward with the hardest part being the migration of old api tokens.

I hope this article will be helpful to you as a guide for the process of migrating to Sanctum. Thu, 13 Oct 22 02:03:30 +0000

Today at work, we had some tests failing in CI all of the sudden for no apparent reason. It turns out, it had something to do with the fact that it's October and one of our tests were failing because of it. Mon, 10 Oct 22 01:05:12 +0000

This weekend, I went camping with some friends and my dad and brother. We went to Overland Expo and here are some photos I got from it. Sun, 09 Oct 22 00:58:51 +0000

Amateurs give advice. Experts diagnose. Fri, 07 Oct 22 23:21:31 +0000


Replacing the Heater Core on my 2001 Jeep Cherokee XJ Thu, 06 Oct 22 01:09:29 +0000

I have had the sneaky suspicion that my heater core on my Jeep has been leaking for a little while now and have been waiting for a good time to replace it. With a camping trip coming up, I finally decided to tackle it. I had read online that it would take roughly 5-10 hours to complete so on Saturday evening, I began the process of completely taking the dash apart.

It took me Saturday night, most of the day Sunday, and the past several evenings after work to get the job done. And boy was it a big job! I would say I have ~15hrs into it but that also includes flushing out the entire coolant system.

I'm super glad to have finally have heat that does not result in all the winds fogging up.

Oh... and it rain all weekend while I was working outside.

On a side note, I went ahead and decided to replace the thermostat because I wanted to remove the housing to properly flush out the engine. These Jeep's take a 180 degree thermostat but it is not uncommon for people to unintentionally, or without knowing better, replace them with a 195 degree and that was the case with my Jeep. Not to mention, some how a o-ring was suck in the thermostat.

With a freshly flushed coolant system and a new thermostat, the Jeep is staying nice and cool.

Trip to Illinois: Day 03-07 Wed, 21 Sep 22 00:26:51 +0000

I was planning on publishing a post for each day of my trip but I have given up on that. Overall, the trip was amazing and I really enjoyed getting to know the people at Wilber. Sat, 17 Sep 22 18:27:35 +0000

Why do I only ever get 5G when I'm sitting in the airplane on the tarmac?

Trip to Illinois: Day 02 Sat, 17 Sep 22 02:51:30 +0000

Trip To Illinois: Day 01 Mon, 12 Sep 22 23:39:22 +0000 Sun, 11 Sep 22 09:06:58 +0000

I work fully remotely but my employer is flying me to Illinois to meet the team. In the airport waiting to board ✈️ Sat, 10 Sep 22 14:01:18 +0000

The best way to get rid of sin is to starve it to death. Wed, 07 Sep 22 01:15:28 +0000

We got a group together to go riding and went to the Mission BBQ bike night. Tue, 06 Sep 22 01:40:43 +0000

I built this platform in the back of my Jeep today. Along with that, I completed some more of the electrical in my teardrop. Sat, 03 Sep 22 14:42:25 +0000

I have decided on the name for the podcast I'm starting and I REALLY like it. I purchased the domain name yesterday. It will be a few months before I have time to get it started and I will keep you all in suspense until then. Fri, 02 Sep 22 02:18:01 +0000

I stopped by Red Wing to get my boots oiled today. I walked out of there not only with my boot well oiled, but the employee that was helping me also replace my laces. I can really appreciate such great customer service and every time I go there, I remember why I spent the money on nice boots. Thu, 01 Sep 22 02:44:25 +0000

I went wheeling with some friends tonight and the went out to dinner. I had a blast! Tue, 30 Aug 22 01:23:31 +0000

I installed some rock lights, in addition to my led bar, on my Jeep today. Thu, 25 Aug 22 02:21:51 +0000

I'm going to start a web development podcast soon... just have not settled on a name yet. Wed, 24 Aug 22 01:56:00 +0000

The electric secondary fan on my Jeep has not been working. Today I finally got it fixed. I replaced the fan, the relay, and the fuse. All fixed 👍 Tue, 23 Aug 22 00:45:55 +0000 Sun, 21 Aug 22 02:27:52 +0000

I put a led light bar on my Jeep today. Sat, 20 Aug 22 01:01:11 +0000

I sold my truck today. I actually sold it within 24hrs of listing it! Wed, 17 Aug 22 17:47:29 +0000

L.O.Y.O - Live only you once. Tue, 16 Aug 22 02:18:09 +0000

I created a custom URL shortener! Now I can create short URLs like this one that redirect to a URL that would otherwise be cumbersome to type or even too long for certain applications (i.e. QR codes). Sun, 14 Aug 22 01:54:22 +0000

I went wheeling with my dad and brothers and got stuck. As I tried to spin my tires to get out, I just dug myself in deeper. Luckily, I had just bought a kinetic rope from Harbor Freight which worked well. Sun, 14 Aug 22 01:46:10 +0000

I replaced the headliner in my Jeep over the last two days. Much better now! Fri, 12 Aug 22 02:13:46 +0000

I have slowly been improving Sublime Blogs. I want to add .bar import and export support next. Thu, 11 Aug 22 00:15:41 +0000

Your choices will determine your destiny. - Johan Gous Thu, 11 Aug 22 00:08:10 +0000

Music is what math sounds like. Wed, 10 Aug 22 23:47:53 +0000

A theory that can explain everything is useless. - Ricker Polsdorfer

2001 Jeep Cherokee Wed, 10 Aug 22 01:16:16 +0000

I have been wanting to sell my truck and purchase a Jeep for a while. The lack of four wheel drive has been driving me crazy every time it snows. Not that I have anywhere I need to be; I just want to get out and drive in the snow. My brother purchased a Cherokee XJ last week and it was the motivation I needed to finally decide to make the switch.

I found a 2000 Jeep Cherokee on Facebook marketplace on Saturday that looked like it was in good condition but was overheating. I thought it was something I could fix myself so my dad, a friend, and I made the hour and a half drive to go look at it.

When I got there, I quickly realized the Jeep needed way more work than I was willing to put into it. There were several issues in addition to the overheating issue.

On the way home, I thought I might as well look to see if there was any other Jeeps listed in the area. I found one that was listed back at home, but after contacting the guy, I learned that it was at his girlfriend's house, which was on the way home. We went to look at it, knowing that it was overpriced.

When we got there, the starter had gone bad on it and so I was not able to hear it run. After looking at it carefully, my dad and I were able to negotiate them down from $5,500 to $3,500! I tried not to show my excitement and eagerly paid her. That night, at 9pm, I started working on replacing the battery and starter. I got it fixed in just over an hour.

Over the past few days, I have been doing some light off roading and having a blast! Here are a few photos. Wed, 10 Aug 22 01:03:14 +0000

At work, my co-workers and I play an arcade game every day during our meetings called Boom Party. We started keeping a leader board and my boss bought a trophy that we ship around to whoever wins each month. Last month I won, so a box showed up on my doorstep.

It's a nice addition to my desk! Sat, 06 Aug 22 01:40:10 +0000

God is not leasing you. He bought you. Wed, 03 Aug 22 16:30:21 +0000

An excuse is you validation for why something did not happen. Wed, 03 Aug 22 15:27:26 +0000

Goals are dreams in work clothes. - Michael Cale Wed, 03 Aug 22 03:17:06 +0000

I saw this in the latest issue of the DevDojo newsletter. Wed, 03 Aug 22 02:20:20 +0000

Every couple months I have been paying for a few more years of registration for I just now renewed it for another year and I've hit the 10 year maximum you can renew in advance. Mon, 01 Aug 22 18:30:07 +0000

I want to make my own URL shortener. To bad the domain name is $23,000. Sun, 24 Jul 22 03:02:31 +0000

Note to self:

When I run into the issue where Vite HRM is not working in Laravel and 404 responses for requests to __vite_ping start showing up in the browser, read this issue.


server: {
      https: true,
      hmr: {
        host: 'localhost',

to your Vite config.

You have no idea how many times I keep running into this and forgetting how to fix it. Sun, 24 Jul 22 02:22:01 +0000

I installed Pi Hole on my Raspberry Pi Zero W and have been playing around with it a little. It is super powerful and you can do some cool stuff with it. I setup a local DNS record for which maps to the local IP address of our Epson printer.

Annoyingly, the xFi router we lease from xFinity does not allow me to set a custom DNS server for the network. I guess I'm going to have to stick another router in front of it and put it the xFi router in bridge mode. Just like an ISP to lock down their modem/router. Wed, 20 Jul 22 01:26:13 +0000

I just figured out that macOS has a terminal command (cal) to display a little calendar. Super cool! Tue, 19 Jul 22 01:10:22 +0000

Father-Son Camping Trip 2022 Sun, 17 Jul 22 18:08:03 +0000

I got back yesterday from our 17th annual Father-Son camping trip. We all had a lot of fun! Sat, 09 Jul 22 01:55:17 +0000 Thu, 07 Jul 22 01:27:01 +0000

More pictures I took of the fireworks I watched. Wed, 06 Jul 22 01:20:18 +0000

Fireworks Sun, 03 Jul 22 00:54:13 +0000

I want to start a development podcast. Not sure what to call it yet. Thu, 30 Jun 22 21:16:51 +0000

I just found a PHP package that says in the description

php-micropub has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support.

🤔 Wed, 29 Jun 22 12:23:47 +0000

Your talent is God's gift to you. What you do with it is your gift back to God. - Leo Buscaglia Tue, 28 Jun 22 22:59:00 +0000

I went threw some of my email subscriptions that I keep getting annoying emails from every day and unsubscribed. I probably still have a bunch more. It would be awesome to have an app that would keep a list of email subscriptions you have. Sun, 26 Jun 22 15:27:29 +0000

God is not first about our doing, but our being. - Pastor Jay Temple Sun, 26 Jun 22 00:08:37 +0000

I found my ham radio! Fri, 24 Jun 22 22:49:01 +0000

I think I know what I want to do this weekend. I don't know if I will have time but I want to add Micropub support for Sublime Blogs. Fri, 24 Jun 22 02:01:18 +0000

Or I could work on Sublime Blogs this weekend 🤔 Fri, 24 Jun 22 01:36:01 +0000

I had a good day at work today and the week is almost over. I might start working on a game for the PlayDate this weekend. And/or continue work on my truck. Wed, 22 Jun 22 01:10:49 +0000

I sold a couple of my Sony lenses I don't use. I find I only ever shoot with my f4 18-105mm. Tue, 21 Jun 22 01:24:45 +0000

Today I purchased a StepRamp motorcycle ramp off Facebook marketplace. It makes it super convenient to take my motorcycle in and out of the back of my truck. Sun, 19 Jun 22 19:10:39 +0000

The budgeting app I use, You Need a Budget (YNAB), has a developer API. I want to build an integration for it but I don't know what to build. This is a common scenario for me. Sun, 19 Jun 22 13:26:14 +0000

I just found the first PHP application I ever wrote. It's hard to look at. Sun, 19 Jun 22 03:26:43 +0000

Ok... this SMS interface for Sublime Blogs is a game changer! I can blog as if I was having a conversation with someone. Amazing 🤩 Sun, 19 Jun 22 03:18:56 +0000

I'm working on the COOLEST feature for Sublime Blogs: Text-To-Blog!

I generally don't like text interfaces for the majority of things, texting to post to a Micro blog is perfect! Sat, 18 Jun 22 20:31:04 +0000

I migrated all the wallpaper from to I think it makes more sense to have all of my side projects under my personal domain instead of having to pay for a bunch of different domains. I will of course keep my large projects like Sublime Blogs separate and on their own domain names. Sat, 18 Jun 22 14:49:25 +0000

It’s not often the company you work for sends you a glow in the dark pen! Fri, 17 Jun 22 01:12:59 +0000

I’m starting to get really excited about the PlayDate by Panic I ordered. They are saying I will get it sometime next year but I’m hoping they will successfully ramp up production and get it sooner.

I ordered it not too long after hearing about it but, evidently, I should have ordered it sooner. In the meantime, I can begin learning the Lua programming language so I can write games for it.

Now to think up some game ideas. Mon, 13 Jun 22 23:24:23 +0000

Over the past few weeks, I have been working on slowly impementing IndieWeb for my blog. I’m considering adding comment support to Sublime Blogs. This would allow you to not only have a form on your front-end that sends a POST request to the SublimeBlogs API, but it would also support WebMentions. Sun, 12 Jun 22 02:31:31 +0000

I finished migrating my site from Jigsaw to Laravel. It took me a little while but I’m glad I did. Jigsaw is great for simple sites, especially if you don’t want to worry about managing a server to run that site, but the development experience is not that great.

I still have a lot I want to do to this site and having a backend will be necessary. Thu, 09 Jun 22 22:47:52 +0000

I’m almost done with my first week working at Wilber Group full-time. It has been going great so far and I’m learning a ton! Tue, 07 Jun 22 00:55:46 +0000

Picture of my dog Biscuit. Shot with a Sony a6300 with some minor edits. Sat, 04 Jun 22 23:13:35 +0000

Today, I spent several hours trying to get my Arduino NRF24L01+ transceivers to talk to each other. I eventually got it working… mostly. It works, but it’s unreliable. Maybe I should just buy some LoRaWAN radios and a gateway for my latest IoT project 🤔 Sat, 04 Jun 22 02:06:38 +0000

I took this photo with my iPhone 13 mini during a walk on Wednesday. Tue, 31 May 22 17:16:35 +0000

Back in November of 2020, I made the upgrade from an older, custom built, desktop computer running Windows 10 to the new MacBook Pro M1. It was a massive upgrade and I’m SO glad I made the switch. Apple has done a phenomenal job with their new line-up of processors, but I have been dealing with one major problem that has been driving me crazy for the past year or so.

When my MacBook goes to sleep for a while and I come back, I’m greeted with the MacOS login screen with all of my open applications closed. I assumed it had crashed and restarted. After dealing with this for the past year or so, I finally decided to contacted Apple Support yesterday.

I just opened up my Mac to the login screen again and all of my open applications had been closed. Very frustrating. I check the Time since boot in System Information and I noticed it said it had been over a day since it booted up. Strange.

I started thinking, maybe it was not restarting but actually just logging me out of my user account. I did some research and figured out that there is an option in MacOS to have it automatically log out after a certain amout of time. And then it hit me, a security assistant app I had install a while ago had suggested that I enable that option. So I did. That is what has been causing my MacBook to seem like it has been crashing when it really hasn’t.

It was a user error and it’s fixed now. 😁 Mon, 30 May 22 13:03:36 +0000

I went swimming this morning. I did swim team for a few years but the last time I swam was about three years ago. My form was horrible but at least a got some exercise. Mon, 30 May 22 01:33:55 +0000

I’m thinking about starting a podcast. I want to do weekly episodes talking about the development I’m doing each week. Of course, I would like to have frequent guests on too. Now to find a name 🤔 Mon, 30 May 22 01:31:14 +0000

I pre-ordered the new PlayDate handheld console by Panic. I’m super excited about it and I’m looking forward to developing some games for it! I guess I need to learn the Lua language 😄

Now I just need to wait for 6-months to a year before I get it 😒 Sun, 29 May 22 02:35:29 +0000

I have had one major problem with my website for the past month that I keep putting off fixing. And that is, I did not have a proper RSS feed until now. I finally sat down at my computer to fix it. Posts should now also be syndicating to Fri, 27 May 22 21:21:51 +0000

Done with work for the week and I have off on Monday!

I learned so much more about Laravel this week. Mainly about:

  • testing
  • the service container
  • interacting with third-party APIs Tue, 24 May 22 02:26:55 +0000

I purchased an office chair off Facebook marketplace today. I got a great deal! Sat, 21 May 22 02:41:21 +0000

I officially launched Sublime Blogs! Tue, 17 May 22 01:19:01 +0000

Baguette mouse, anyone?

First Day at My New Job Tue, 17 May 22 01:14:59 +0000

The power went out this morning so I had to go to Panera to work. It was my first day at my new job. It was a great day! Sat, 14 May 22 17:28:14 +0000

I purchased a motorized standing desk yesterday off Facebook Marketplace. Loving it so far! I will post a photo as soon as I get all my wires cleaned up. Fri, 13 May 22 21:16:28 +0000

Imposter syndrome is definitely something I struggle with. I get my workflows and software all setup and then I see someone else using a different setup and I rethink everything. This, coupled with the fact that I like new shiny software, causes me to constantly reconsider my software suite.

For right now, I’m using Bear for all of my note taking and for writing blog posts. It’s working well so far. I may switch to Nota when my current yearly Bear subscription runs up. We will see.

First Web Development Job Wed, 11 May 22 13:18:21 +0000

I want to share what The LORD has done in my life over the last few days.

For the past few months, I have been struggling to know where to go with my career. I taught myself Laravel and the TALL stack and I was doing some freelance work. My mom kept suggesting that I get a job working for someone who could mentor me.

We were discussing my options (going to school, freelancing, or applying for a junior web developer job) on Thursday night after I got back from my job at the church. These conversations were a regular occurrence. We prayed about it that night.

On Friday around 1 pm, I got a text from my cousin. It was a screenshot of an email he had gotten from Jacob Bennett. It read


Was looking to talk to your brother Luke but haven’t been able to find a way to get in touch with him. It’s regarding a possible position to work in Laravel at our company in Illinois, remote position of course. I’ve been watching some of the things he’s been working on, for example and think he would make a great junior developer! Haven’t had any luck finding him but stumbled across your email and thought maybe you could either forward this to him or send me his email so I can contact him directly.

Thanks for any help!

Jake Bennett

I immediately called my cousin and asked him to forward me the email. I email Jake and told him I was interested and gave him my phone number. He called me a little while later. He asked me a few questions and I walked him through Sublime Blogs.

Jake said he had been trying to get in contact with me for the past 10 days but he could not find any contact information. (That is something I will need to add to my website.)

I had an interview with him and his supervisor on Monday. It was a hour and a half and it went very well. They asked me a lot of personal questions and not very many technical ones.

Later that day, Jake texted me and we setup a time that afternoon for the technical interview. He sent me some of the PHP classes he had written and asked me to read through it and explain what the code did.

That evening I had an offer in my inbox. This is what my parents and I had been praying about and so I immediately accepted, with the understanding I would need to wrap up other projects.

It is amazing how God works! The best part about this job is that my supervisors are Christians. I get to work under like-minded people. I’m very excited to start part-time on the 16th and then move to full-time next month.

It so encouraging when God answers your prayers so clearly! Sat, 07 May 22 01:57:21 +0000

Today I worked on the documentation for Sublime Blogs as well as the privacy policy. I’m getting very close to being ready to launch it. It’s exciting! Wed, 04 May 22 21:22:55 +0000

I moved Sublime Blogs from Digital Ocean Spaces to Backblaze B2 for S3 storage. I like DO Spaces but it is severely lacking in a lot a features; namely, file versioning. B2 is also significantly cheaper when it comes to storage, but they make up for it in egress bandwidth cost. I don’t think a lot of people know this but they offer free egress to Cloudflare. So in the end, it is much cheaper than DO Spaces and offers more features. Wed, 04 May 22 00:51:27 +0000

Today my dad got a group of guys together to go to the Mission BBQ Bike Night. We got it meet a lot of new people and check out a few bikes. Mon, 02 May 22 22:44:36 +0000

I sorta took down my server today. Oops 😁 I setup a Laravel queue worker before I had the database tables in place first and it just took the whole thing down. Like, MySQL would just screech to a halt before finally completely crashing. It’s fixed now though. Sat, 30 Apr 22 21:20:58 +0000

Subscription billing is setup… mostly! Sat, 30 Apr 22 03:45:37 +0000

I took my GS off road today. It was fun until it overheated. I think my fan has gone bad on it so I will need to diagnose it and fix it. Sat, 30 Apr 22 03:37:49 +0000

I spent most of the day working on integrating Stripe into Sublime Blogs for subscription billing. I have decided to refactor the pricing model a bit; now offering a subscription that gives a user more storage across all of their sites and not just tied directly to one specific site. Thu, 28 Apr 22 21:22:56 +0000

I’m continuing work on Sublime Blogs. Yesterday I spent a while working on the marketing site and getting feedback from other developers. I also setup a form where you can subscribe to get an email when I launch the product; which should hopefully be in the next two months or so.

I have migrated my site over from to a static site built with Jigsaw, hosted on Netlify, with deploys being trigger and blog posts being pulled in from Sublime Blogs. Wed, 27 Apr 22 13:35:07 +0000

“🤔 Modern times summed up in 25 seconds from the Arther PBS show.” - Zorn Wed, 27 Apr 22 02:49:43 +0000

I setup a account for Sublime Blogs, but they rejected me. They said my product was deemed high risk. Maybe it was because I did not have my website done yet? Anyways… its on to Stripe now; which was actually much easier to setup. You lost my business Paddle. Tue, 26 Apr 22 01:42:08 +0000

Today I was listening to the podcast, North Meets South, and Jake and Michael were discussing the script Jake created to randomly generate a fake wordle emoji grid. The goal was to be able to, everyday, share a random result with your friends to get in on the social aspect of wordle without actually playing it.

Jake mentioned that he was going to rewrite it in JavaScript and put it online, but he decided it was not worth the time. Now I’m considering taking on the challenge of bringing it to the web myself.

Is it worth getting a domain name for it or should I just use a subdomain of Mon, 25 Apr 22 19:19:26 +0000

I got tired of stuggling learning VueJS and Nuxt, so I decided to build out my new blog in Jigsaw. It is almost done and I will be moving away from in favor of my new headless cms I’m working on (Sublime blogs).

I have nothing against but I’m a control freek and I want complete control over the frontend using my static site generator of choice. I’m also trying to cut down on costs. Sun, 24 Apr 22 21:20:45 +0000

Today I started working on the marketing site/landing page for Sublime Blogs. I used tailwindui for the navigation and hero section and it turned out pretty good in my opinion. The marketing may need some work but it is a start. Fri, 22 Apr 22 15:08:35 +0000

I just spent about four hours working on Sublime Blogs and using the API to build out my blog with NuxtJS. I have been primarily focusing on building out the API. It is coming together well so far. Wed, 20 Apr 22 19:11:15 +0000

After purchasing Tailwindui, I went to town redesigning Sublime Blogs. I’m very happy with how things are coming together! Wed, 20 Apr 22 08:34:38 +0000

I’m about 2 months out from being able to ship Sublime Blogs. I’m excited 😃

I still need to work on pricing though 🤔 How does $2/month per site sound? Maybe that includes a certain amount of storage for photos? Mon, 18 Apr 22 21:14:03 +0000

I started researching Agile and Scrum project management. I’m hoping to start implementing it with some of my client and personal projects. Sun, 17 Apr 22 21:07:28 +0000

My brother just got his motorcycle license so my dad, brother, and I went for a ride. That was a lot of fun! Sat, 16 Apr 22 21:18:04 +0000

I sold my Honda Nighthawk today. Now I’m down to one bike and a truck. Fri, 15 Apr 22 22:20:49 +0000

I want to be good at designing user interfaces, but sadly no matter how hard I try, it never ends up looking the way I want it to. So… I purchased Tailwindui. We will see if it helps.

Now to redesign Sublime Blogs. Wed, 13 Apr 22 16:34:54 +0000

I have a strong appreciation for great UI. I find that the apps I enjoy using are also the ones that stick (like Things 3, Notion, etc.) If the UI is mediocre, I probably won’t adopt it into my workflow.

I guess that just sets the bar a little higher more my own apps 😬 Wed, 13 Apr 22 16:29:07 +0000

I downloaded the beta of 1Password 8 for iOS. The UI is amazing! Tue, 12 Apr 22 16:52:22 +0000

Time to do taxes 😞. One of the disadvantages of being self-employed is you get to watch all you money leave you all at once… every April. Sat, 09 Apr 22 17:09:14 +0000

I upgraded TPP from Laravel 8 to Laravel 9! It took about an hour to go through and update all of my dependencies, update the PHP version on the server, and change the GitHub CI/CD action to run PHP 8.1.

This was my first time every upgrading Laravel. It was not too hard. Great job Taylor and the Laravel team! Fri, 08 Apr 22 21:47:38 +0000

I’m back working on a project (TPP) I was told to take a break on a few months ago. It’s a web app built with Laravel, AlpineJS, Livewire, and Tailwindcss. It is actually the first real web app I ever built.

Prior to TPP, I had only just begun learning PHP and trying to build a web app (Open Outreach) in vanilla PHP. I did not even know frameworks were a thing. I just had a php file for every page and would manually query the database with SQL. To say the least, Open Outreach did not get very far.

I made some mistakes on TPP but I’m a much better developer now and it’s fun ripping out old components and rebuilding things. I have already improved things drastically in just a few hours.

Currently working on redesigning the whole UI. I will keep posting update periodically. Thu, 07 Apr 22 21:19:59 +0000

I spent the longest time trying to get Laravel Nova to work. Finally figured out my dumb mistake. I had setup a policy for the model I was trying to create a resource for and I had set the viewAny function to return false. Now I have it set to check for the viewNova gate. All fixed now 👍 Wed, 06 Apr 22 21:31:40 +0000

Today I purchased an unlimited license to Laravel Nova because it’s currently $100 off. I have never used it until today and it’s convenient for creating quick admin dashboards. Sat, 02 Apr 22 22:25:27 +0000

I finally got my new clutch installed in my BMW f650gs. I’m enjoying riding it! Thu, 31 Mar 22 18:53:54 +0000

I need to decide on a pricing model for Sublime Blogs. I think most features are going to be free and only image hosting will cost. Do I charge per user or per site? Wed, 30 Mar 22 15:08:45 +0000

Sublime Blogs is up and running! I still have a lot more to do but the basics are there and I’m able to start testing things. Now I need to be able to have the option to import from Wordpress. Tue, 29 Mar 22 08:18:09 +0000

I fixed the bug I found on the post edit page on Sublime Blogs. It was kinda a dumb mistake. Now everything is working! Sun, 27 Mar 22 17:13:20 +0000

Last night I deployed Sublime Blogs to production to test everything out as it stands. The markdown editor completely broke so I got it working locally. Still no luck on production. I’m not getting any error codes or logs either. I will take a look at it tomorrow and see if I can figure out the issue. Sat, 26 Mar 22 21:22:41 +0000

Oh I forgot about subscription billing. I will need to build that out for Sublime Blogs. Sat, 26 Mar 22 17:11:39 +0000

I have almost all the main components for Sublime Blogs done. I’m working on authorization right now and then I need to pull together some basic documentation and build out the marketing website. I hope to launch a public beta by the end of April. Fri, 25 Mar 22 22:06:55 +0000

Today I worked on getting image uploads to work on Sublime Blogs. It took me a while to figure it out but now it is working! Fri, 25 Mar 22 16:48:00 +0000

Today I had I job that required I go spelunking… well sort of. I had to crawl underneath the sacturay of a church that was built in 1905! It was very tight and the enterance was a long way away from where we needed to go. Thu, 24 Mar 22 22:43:00 +0000

Today on Sublime Blogs I wrapped up the functionality to switch the site you are working on and started building out the API. Here you can see the edit page for a site where you can create API access tokens. Thu, 24 Mar 22 08:27:21 +0000

Over the past several months, I have been trying to decide whether or not to cancel my Google Workspaces subscription. I use it for my business email and I’m grandfathered in to an unlimited storage plan for only $12/month.

I used to use it as my main form of storage for all the client work I did but I have since decided I don’t want all my data in the hands of Google, especially not the only copy I have, so I purchased a Synology NAS. Now comes the part where I have to migrate 2TB of data from Google Drive to my NAS. Fun 😞

I won’t really by using much storage on Google Drive but I don’t like the thought of giving up my grandfathered in plan.

I don’t share as much data with clients anymore (now I’m doing mostly web developer and that is all on GitHub) so I could just throw any files I need to share on an S3 bucket. Maybe even throw that behind CloudFlare for caching. Wed, 23 Mar 22 18:16:47 +0000

Sublime Blogs is coming along well. EasyMDE has been working amazing so far!

Migrating from Ulysses to Bear Wed, 23 Mar 22 17:13:28 +0000

I have been using Ulysses since I started this blog for writing my blog posts before publishing them to I have decide to migrate to using instead. I think it is going to work better for me as it will also replace Apple Notes for me as well.

Now I need to to create a Siri Shortcut to be able to automatically post a Bear note to Tue, 22 Mar 22 22:42:45 +0000

I set up CloudFlare to cache a site and in the process broke my internet controlled garage door opener. I don’t recall ever blogging about my custom garage door opener, but I should soon. Basically, I can open and close the garage door with a Siri Shortcut or control it from through a webpage.

I had to restart a server and grey cloud the subdomain I have it setup on. It’s fixed now! Tue, 22 Mar 22 22:37:12 +0000

I want to build a house out of an old school bus (commonly referred to as a skoolie). I have been doing some research and I found the idea of converting a diesel school bus to run on waste vegetable oil from restaurants (which you can do with a Diesel engine). One more thing to add to my skoolie wishlist. Mon, 21 Mar 22 21:24:54 +0000

I think I will use Digital Ocean spaces for image hosting on Sublime Blogs. I wonder how much bandwidth and storage each site will use 🤔. That is going to be hard to estimate. Mon, 21 Mar 22 20:56:51 +0000

I have been making progress on Sublime Blogs. It has been going rather smoothly. It’s always that way whenever I start a new project. Sort of deceitful… it gets much harder down the road. Currently, I’m just setting up everything, defining the database schema, and creating the basic dashboard.

It took me a while to finally decided on a javascript text editor to use on the front-end. I have three major requirements. It has to support markdown, allow image uploading, and be open source, so I can tweak and customize as needed without having to worry about licensing.

Easy Markdown Editor, or EasyMDE for short, fulfilled all three of those requirements and as a bonus, has a great UI. It’s a fork of SimpleMDE with a few added features. After a few hours of work, I was able to get the editor to send its content, on update, back to whatever Livewire component it is embedded in. It may not be the most elegant… but it works. Mon, 21 Mar 22 20:29:03 +0000

Here we are again… days since my last blog post. I really need to get better at blogging more often. I think I’m going to challenge myself to blog at least once a day. It may be something interesting… it may not. But I will at least post about something every day. Fri, 18 Mar 22 15:48:19 +0000

I guess that is how 7-Eleven restocks 🤔 …through the front door? Looks awkward for customers.

“How can I help you, sir? Oh! Yeah… just ignore the giant semi truck out in front. “ Tue, 15 Mar 22 21:41:41 +0000

Inspired by Sublime Ads (a SaaS Vincent Ritter is developing), Sublime Blogs is a new project I’m working on. It is a Headless CMS designed specifically to add a blog to any frontend static site generator.

After doing a lot of research, I’m yet to find a cheap and simple solution to move my blog over to Netlify. I’m very particular about my tech stack, and I want to be able to use the tooling I’m familiar with (Jigsaw and Tailwindcss) while still being able to post blog posts easily from my phone.

I decided to solve my problem by building Sublime Blogs. More information coming soon… Mon, 14 Mar 22 18:33:21 +0000

I’m working on a new SaaS (software as a service) inspired by Vincent Ritter’s Sublime Ads. I will blog about it as I work out the details. Fri, 11 Mar 22 19:50:47 +0000

It seems like I go through phases of posting frequently, and then it feels like nothing interesting happens for a while and I neglect to write anything.

I have been working on a few projects that some may find interesting. I have outlined them below.

Vue JS

I have been working on learning Vue JS. For those of you that are not familiar with Vue, it’s very similar to React (a piece of technology built and used by Facebook (now Meta)1).

I’m enjoying using it so far. I have the tendency to jump in head first instead of working through tutorials, so progress on the app I’m working on is a bit slow. I will post more about it soon.

BMW f650gs

I have been working on replacing the clutch in my 2001 BMW f650gs. It’s a bit tricky and the stack height on the new one I think is a little too tall. Hopefully it works.

I know there are more projects, but honestly, I started writing out this post several days ago, and now I forgot what I was going to say. Oops 😬

  1. Is it proper to nest parentheses inside one another or is that just something I picked up web development? 🤔 [return] Sun, 06 Mar 22 09:47:09 +0000

I went for a ride this morning. It is remarkable weather today. I rode 21 curves, and as the name implies, has 21 curves. It was a little wet out but still a lot of fun. Sun, 06 Mar 22 09:45:12 +0000

I put new tires on my 1999 Honda Nighthawk 750. I did it by hand, and It was not too hard. Fri, 25 Feb 22 14:51:44 +0000

“Redirecting…” is not a very helpful title 🤔

Or description for that matter 😂 Fri, 25 Feb 22 14:50:02 +0000

Someone accidentally escaped the <br> HTML element 😂

It’s good to know even a $100 billion company makes mistakes. Mon, 21 Feb 22 20:31:16 +0000

I know there were at least 10 dumb mistakes that were made to get to this point. I got stuck in the very wet and leafy ground out at my cousin’s house. He came and rescued the day (or, by that point, night) and helped me get out. Mon, 21 Feb 22 20:27:51 +0000

I have been fairly busy lately, and I have fallen behind on a few things. Including the Swift and SwiftUI course I have been working on.

I have been trying to decide whether to move forward with it or not. It takes quite a bit of time dedication (about 1hr a day) and I’m a long ways of from behind able to actually profit from the time spent.

I’m thinking I’m better off focusing on the web for now. I started dabbling in Vue JS and I have a cool project that would make a good PWA.

Furthermore, I also don’t feel like getting into the whole Apple vs. developers issues right now. At the same time, though, I want to be able to at least have some control over my iOS devices by being able to write my own apps. The web is remarkable and powerful, but there are just some things you can’t do without a native app.

I restarted my Laracasts subscription, which is a fantastic resource for learning web development, so I want to devote more time to increasing my knowledge of Laravel and related technologies. Since I’m paying for it, I might as well take full advantage of it. Plus, I know enough about Laravel and Livewire to actually take on some small projects. It makes sense to dedicate time to something I can build a career out of now, rather than working on learning something I know very little about.

I started writing this post thinking I had already made up my mind… but now I’m back to not being sure what I want to do now 😂

We will see. Thu, 17 Feb 22 20:21:07 +0000






Wordle 243 5/6 Sat, 12 Feb 22 17:20:52 +0000

I finished day #12 of 100 Days of Swift UI. I’m a little behind ☹️ but I’m still making progress. Sat, 12 Feb 22 17:10:33 +0000

I’m not sure how this trend has started, but now every company with a newsletter thinks it’s their job to tell everyone how to live out their daily life.

Like look at this email I received the other day from Feit Electric.

They make smart home devices, for Pete’s sake. I know it is just for marketing reasons, but every company does not need to be everything. Just continue making light bulbs. And if you can, make a really good light bulb. Thu, 27 Jan 22 23:25:36 +0000 Wed, 26 Jan 22 22:49:07 +0000

I just finished Day #05 of 100 Days of Swift UI. Today was all about if and switch statements and the oh so helpful and elegant ternary operator. Wed, 26 Jan 22 11:04:15 +0000

We are having a great time skiing! Tue, 25 Jan 22 15:20:00 +0000

I finished Day #04 of 100 Days of Swift UI. Today was all about type annotation. Mon, 24 Jan 22 20:55:00 +0000

Yesterday I finished Day #02 of 100 Days of Swift UI, and today I finished Day #03. As much as I love PHP and JavaScript, I’m really enjoying Swift. It is interesting to learn a compiled language verses the interpreted languages I’m familiar with. Sat, 22 Jan 22 15:53:00 +0000

I just finished Day #01 of 100 Days of SwiftUI. I’m enjoying it so far. Fri, 21 Jan 22 15:17:09 +0000

I went back to Chris Green Lake around sunset to try to capture a few photos. They did not turn out as good as I was expecting, but it was fun and I can add them to my collection. Wed, 19 Jan 22 21:21:47 +0000

Here is a photo I got today at the lake. I just missed sunset. I might try to go back tomorrow after work and get a photo as the sun is going down. Tue, 28 Dec 21 23:06:16 +0000

YouVersion posted three verses under the title of “Verse of the Day”!

A day at the Ark Encounter Fri, 10 Dec 21 10:58:19 +0000

We arrived at the Ark Encounter about 15 mins before they opened. We purchased our tickets and then took a shuttle from the parking lot to the actual Ark Encounter.

The Ark was massive! It was remarkable to be able to walk through all three decks of the Ark and see the different exhibits explaining what Noah and his sons may have been doing while on the Ark.

A few things stood out to me. The first is that it would have been very dark in the Ark. The only light they would have had during the storm would have been a few candles or oil lights.

Another thing that stood out to me was that Noah and his family would have had to work very hard while in the Ark taking care of the animals. After spending 100 years building it, Noah was not even able to rest while on the Ark.

The last thing, which may be obvious to some, it would have smelled horrible in the Ark as it would have been all closed up and there would not have been much airflow.

We made some great memories and I came back with some fantastic photos. Wed, 08 Dec 21 22:05:37 +0000

We had a great dinner at one of our favorite restaurants, Cracker Barrel. I’m still impressed with the low light capability of the new iPhones. Wed, 08 Dec 21 19:14:53 +0000

5G for the first time! Wed, 08 Dec 21 16:40:00 +0000

We are driving through the capital of West Virginia on our way to Kentucky. It’s crazy how the whole city is built in the mountains. Wed, 08 Dec 21 14:36:00 +0000

We stopped at a gas station and ironically, the rectangular restaurant is called “Triangle” 😂 Wed, 08 Dec 21 10:51:51 +0000

My family and I are our way to Kentucky to go to the Ark Encounter. I’m very excited to see the Ark that God instructed Noah to build. Tue, 07 Dec 21 19:38:32 +0000

My iPad finally shipped!

iPhone 13 mini Tue, 30 Nov 21 08:47:28 +0000

Last week, I received my iPhone 13 mini after ordering it a few days prior. I decided to upgrade from my iPhone XS to the 13 mini because Verizon was running a promotional. I only paid a few dollars after trading in my old iPhone XS, and it made sense to take advantage of the offer while my XS was still worth something.

Furthermore, I had done very little research on the mini before ordering it, but I knew Apple had significant improved the issues found on the iPhone 12 mini. I can say after using it over the last week I’m pleased with it, and I’m enjoying the smaller size. It’s a bit more difficult to type on when compared to the large screen of the XS, but the compromise is well worth the benefits of a smaller and more affordable phone.

With the large discount, I received on the phone, I decided to purchase a better quality case than I normally do. I opted to go with the first-party Apple MagSafe silicon case. This is the first time I have ever had an Apple case and I can say it is well worth the price. I like the traction my hand has on the soft silicon and overall, it has a very premium feel.

The battery on the 13 mini is surprisingly good when compared to my XS. I usually get through the day with 50-60% left.

The camera is a massive upgrade for me. Both cameras have exceptional quality and the night mode is outstanding!

Overall, I’ve really enjoyed my new phone and look forward to continuing to testing it. Sat, 20 Nov 21 22:18:51 +0000

I ordered an iPhone 13 mini a few days ago from Verizon and it just came in today. I’m really enjoying the size so far. Tue, 16 Nov 21 18:50:10 +0000

I finally decided to order a new iPad Air. I have had my iPad 6th generation for about 3 years now and with the trade in value of it, it made sense to upgrade. Sat, 13 Nov 21 22:40:24 +0000

Here a few photos I have taken over the last two days with the Sony a6300. I think they turned out great! I did a few touch-ups in post but overall the photos were very good straight out of the camera. Sat, 13 Nov 21 00:32:54 +0000

Today I purchased a Sony a6300. I got a great deal on it used, and it came with four lenses. I have been testing it out a little, and it is a big upgrade from my Canon Rebel t3i. I will post some photos I have taken with it tomorrow. Mon, 08 Nov 21 22:51:04 +0000

Today I worked on cleaning and organizing my desk. I still have some work to do but it is already much more functional.

I mounted a small shelf underneath my desk where I can place my MacBook Pro while it is plugged into my Caldigit TS3 Plus.

I also ran a Cat 6 wire to an WiFi access point which also acts as a ethernet switch. Hopefully this will improve speeds now that I have a wired connection and increase WiFi coverage on this side of the house. Oh… and I also have my Synology DS418 with 2x 4TB Seagate IronWolf drives in it. It is also wired directly into the access point. Sat, 06 Nov 21 22:10:04 +0000

I hope he has his golf cart license 😂 Sat, 06 Nov 21 22:05:10 +0000

The iOS weather does not seem to be aware that the time change is tonight. Sat, 06 Nov 21 19:13:22 +0000

How does a 400 billion dollar company mess up the kerning on their signage? Sat, 05 Jun 21 08:58:00 +0000

I just started using MQTT to control some IoT devices, and it is awesome! It is so much easier than what I have been doing trying to write my own server. Wed, 02 Jun 21 21:21:00 +0000

I’m working on my electrical license and this video was very accurate with its explanation of the flaws in our extension cords here in the US. I wish more people understood wire gauge and the amount of current you can safely run through each size. Sat, 29 May 21 13:31:05 +0000 Sat, 29 May 21 13:30:49 +0000 Sat, 29 May 21 13:29:59 +0000

My brother showed me this and I thought it was pretty funny! Sat, 29 May 21 13:27:59 +0000

I went with some friends after Bible study to Chick-Fil-A and we all shoved in one vehicle going through the drive through. Sat, 29 May 21 13:23:22 +0000

Making some progress on my secret bunker. Almost done with the roof. Fri, 28 May 21 23:34:53 +0000

I had the blessing to be able to go on a trip four wheeling in West Virginia with three of my best friends. We departed on May 6th and spent two nights in an old school in Gary, WV.

Here we are getting ready to leave early Thursday morning.

We got stuck in traffic which set us back about an hour or so.

Here we are not long after getting on the trails.

We had a few minor mechanical failures, one of which was my chain fell off on the trail. I was able to get it back on but had to milk it until we got to City of War. We found a really nice family that could get the chain tight enough to get us back to the school. We were running short on time, and so we had to take the road back which took about ~45mins.

This room at the school is currently under construction, but it looks really cool so far. I hope we get the chance to go back again soon! Fri, 28 May 21 23:15:37 +0000

About a year ago, my uncle and I had to tackle the HVAC wiring at church and to say the least, it was very complicated. From antique equipment to old four wire mercury thermostats, it took two brains to finally install our new five wire ecobee thermostats. Fri, 28 May 21 22:53:23 +0000

I have been working on my 2007 Chevy Colorado for a while now. I just finished up restoring my bumper. I had to sand it down, fill the dents with Bondo, and then primer, paint, and final apply a 2k clear coat.

For the base coat, I used spray paint that was custom mixed for the original factory color. I purchased the base coat, clear coat, and a touch up bottle from automotive touch up and highly recommend them.

I’m rather pleased with how it turned out and just have to finish it up by polishing and waxing it.

](![ Fri, 28 May 21 22:29:42 +0000

I’m currently building a minimalistic house on my Minecraft server that will act like the entrance to a secret underground bunker. I would like it to look cabin like and needs to look very humble. Furthermore, I plan to build several buildings around it to be like a village/town. Fri, 28 May 21 12:34:47 +0000

Currently working on integrating my latest posts into a website. Thu, 27 May 21 00:33:00 +0000

I was very surprised to find out the Nord Stage 3 has a panic button. Never something I would have expected in the context of a keyboard, but I understand its purpose. Thu, 27 May 21 00:11:14 +0000

Created this cool wallpaper! Feel free to use it however you would like! Thu, 27 May 21 00:08:32 +0000

Welcome to my new blog. Here you will find my latest hobbies and projects, web development snippets, and interesting things I’m reading in the Bible.